cncml手绘网
标题: 在IIS上搭建WebSocket服务器(三) [打印本页]
作者: admin 时间: 2018-11-7 00:42
标题: 在IIS上搭建WebSocket服务器(三)
编写客户端代码
1.新建一个*.html文件。
ws = new WebSocket('ws://192.168.85.128:8086/Handler1.ashx?user=' + $("#user").val());
$ |9 U# N b% g1 R% {9 {, K这个地方的IP和端口号对应着我们搭建在IIS上的WebSocket服务器- <!DOCTYPE html>
3 N! k- j0 s# \: V' I - <html xmlns="http://www.w3.org/1999/xhtml">/ X# d& s {. h! N
- <head>
, y* \; P) K r9 M( j - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
, m9 Y- w& W* p2 d - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
* k7 i4 P X4 x7 \ - <title></title>
9 y" l; v I, T4 R - <script src="http://code.jquery.com/jquery-1.4.1.min.js"></script>$ Y) B0 m) S" M
- <script>! K' H3 k' v2 A( @3 w G0 l
- var ws;
3 J) q. H1 j9 f - $().ready(function () {6 Y! ?/ ?1 k) `4 o" o6 V. T
- $('#conn').click(function () {
$ j. ]4 L/ v3 M0 S6 y! E. ?: I' I - //ws = new WebSocket('ws://' + window.location.hostname + ':' + window.location.port + '/Handler1.ashx?user=' + $("#user").val());# y2 z6 [# j1 |
- ws = new WebSocket('ws://192.168.85.128:8086/Handler1.ashx?user=' + $("#user").val());
8 ~5 z2 O. V! o. ^+ d$ Q - //var host = 'ws://192.168.85.128:8085/api/WSChat?user='+$("#user").val();7 r- ?, P5 |; D) A9 K- F. W9 A3 z
- //var host = "ws://192.168.85.128:8085/api/WSChat";
. c* Y3 t% E% R) g4 }) ~ - //webSocket = new WebSocket(host);
! U2 `: B, h: W) s E9 a -
r" }( |% Z4 @% ? s/ ~" j& F4 \ - $('#msg').append('<p>正在连接</p>');
: w9 S7 r$ D" A: r g
- m k# Y/ b5 i" \% m1 Y7 |- ws.onopen = function () {
9 C( n+ C( F! r* f" c4 ~& G - $('#msg').append('<p>已经连接</p>');
$ [: i# D- T1 x$ R - }- n- n/ n8 h% u1 _# E; ^) M
- ws.onmessage = function (evt) {
. n1 @7 d$ R; N' T - $('#msg').append('<p>' + evt.data + '</p>');. a- W' C& w, ]0 i1 _
- }
: O. D9 n' E. @ - ws.onerror = function (evt) {
9 ~. R; I% H+ g0 j - $('#msg').append('<p>' + JSON.stringify(evt) + '</p>');6 [, @# |1 [8 H1 [: Q9 r
- }
3 P; q( [+ B8 b% q4 r, P - ws.onclose = function () {
. U) W- D) z2 n - $('#msg').append('<p>已经关闭</p>');4 L; j) a5 d: U3 z4 z
- }; Q' R! o5 |3 q
- });1 c9 i- W4 L6 P5 ^5 Z$ C; \2 ^9 R
- % G% M& P) S" r- n
- $('#close').click(function () {
4 ~% M9 `. d! J8 W - ws.close();$ s, A7 k6 u* y6 Q3 e* b% O
- });
# B/ H2 f! V3 _0 w$ t
2 c2 h( J0 P1 {; F5 h8 A% G9 o, S- $('#send').click(function () {
% Y; G- |, H$ a6 u# w# q/ ?5 i - if (ws.readyState == WebSocket.OPEN) {3 [0 `. m7 Y J8 L; ^; ~+ @( R
- ws.send($("#to").val() + "|" + $('#content').val());9 y. S- s4 O' _% x& @- u
- }
: A+ i9 }% W$ x' _ D0 z, F8 `0 V0 H% v - else {! G4 H3 P, d/ f
- $('#tips').text('连接已经关闭');) Q! @; T+ d; E5 \+ K9 r1 o
- }
" V9 f% t0 H2 y' s6 v; k) W9 r - });! Z% ?9 v$ H& I. k: ^
- 2 J2 K7 G2 M; @! h
- });
- {2 _1 k) u; \7 B! q - </script>
" Q* I( u+ E% m7 [, O( j+ K - </head>
@- ~; q) @. R- j" `6 j - <body>7 m% p4 I' E" @! d- W
- <div>
( M6 j& F# A" t' i) s3 [" P2 y - <input id="user" type="text" />
: y" Q! p7 P% ^/ W - <input id="conn" type="button" value="连接" />$ ^" t. n2 z! d* E
- <input id="close" type="button" value="关闭"/><br />6 L5 a7 `0 ~) |3 d
- <span id="tips"></span>
: ~, _/ ]+ `& t - <input id="content" type="text" />- I3 ` z5 h9 `3 d/ ?0 f4 V& T
- <input id="send" type="button" value="发送"/><br />1 E' ], n% b- I$ `8 ^$ L a
- <input id="to" type="text" />目的用户5 M* j) t' V5 G5 Q
- <div id="msg">
- I' M( C2 t! ^ - </div>
/ x& E+ I; p+ }, u! x6 e+ f - </div>
; W5 g# A2 r( B- h1 r - </body>
/ m7 l: N, i. \* Z2 O% N! U/ n2 T - </html>
复制代码2.客户端A和客户端B通信效果
在浏览器中分别打开两个窗口,左边为客户端A,右边为客户端B,点击“连接”按钮,AB客户端分别与服务器建立连接
填写要发送的内容,即可看到A和B互相发送的信息了,即实现了AB客户端实现了WebSocket即时通信。
+ k# V- `$ `" ]
| 欢迎光临 cncml手绘网 (http://www.cncml.com/) |
Powered by Discuz! X3.2 |