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());
' d1 r# v, J6 `这个地方的IP和端口号对应着我们搭建在IIS上的WebSocket服务器
  1. <!DOCTYPE html>
    2 ?" p$ i& o" I2 N$ L
  2. <html xmlns="http://www.w3.org/1999/xhtml">; ]7 a5 Q) K" ]5 m& j
  3. <head>
    + y+ t1 ?2 f: `; k* U$ ?4 s; X
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>4 l: D- e# |0 T  L
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
    ! o( @* X- J) l2 |$ w5 b; w5 Y
  6.     <title></title>. H4 g; r. @& E5 @5 H: g
  7.     <script src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
    / _- R2 q6 N3 R. t: J* `
  8.     <script>
    ! b6 n# I: U% p$ L1 E, l$ E
  9.         var ws;
    . n0 d2 F+ ^" Q; y9 R
  10.         $().ready(function () {2 E/ F* Q( I9 E2 d9 v- J
  11.             $('#conn').click(function () {- n& Y6 S! a8 N+ r& A1 l
  12.                 //ws = new WebSocket('ws://' + window.location.hostname + ':' + window.location.port + '/Handler1.ashx?user=' + $("#user").val());
    2 Z  o; y, f( j, H. U
  13.                 ws = new WebSocket('ws://192.168.85.128:8086/Handler1.ashx?user=' + $("#user").val());
    6 b# \% [: j8 M" F
  14.                 //var host = 'ws://192.168.85.128:8085/api/WSChat?user='+$("#user").val();9 b& D* \" d! K3 e4 U+ n  K, W
  15.                 //var host = "ws://192.168.85.128:8085/api/WSChat";) Z( m3 g8 S: ^" F3 P- w
  16.                 //webSocket = new WebSocket(host);3 _& f. q% Y2 @) n' n
  17.                 5 L1 g" Q% D: U3 T
  18.                 $('#msg').append('<p>正在连接</p>');
    3 Q5 U+ e2 N' K! Y+ v5 w; V" {/ d

  19. 9 J" A# U/ q& f- _
  20.                 ws.onopen = function () {
    , A' e1 G/ Z1 b9 u( O
  21.                     $('#msg').append('<p>已经连接</p>');
    2 ^2 G1 T5 J: t- v) z
  22.                 }, c- I" d/ v% O6 p; h& R- k
  23.                 ws.onmessage = function (evt) {( u2 C7 ?6 G* ]  r& }) n
  24.                     $('#msg').append('<p>' + evt.data + '</p>');1 O+ [1 @% F5 n6 H" K. M
  25.                 }
    , H( X, z% @! _& |/ j4 N& Q
  26.                 ws.onerror = function (evt) {9 h& ~9 D& X& s* h
  27.                     $('#msg').append('<p>' + JSON.stringify(evt) + '</p>');
    9 h% x& p8 I' E4 d: S% E
  28.                 }
    ( N4 j* v5 o- V3 F+ e8 {/ A% u; d
  29.                 ws.onclose = function () {- R- p* ?) T4 ~* l- O' e5 |' i5 ]
  30.                     $('#msg').append('<p>已经关闭</p>');
    / V6 T/ m  `8 y1 I8 u" H
  31.                 }+ d, v5 T/ b1 J; t2 l
  32.             });8 ]+ Y1 k8 S+ L
  33. 4 c. X: p: {1 G( m4 L. u" m
  34.             $('#close').click(function () {* n7 x; i$ t0 y" q
  35.                 ws.close();
    2 J. C$ Q5 D: g, O/ ?  E
  36.             });# l2 z4 x, g. `8 y  Y0 V: \
  37. , E) R( [& B- N% q8 Q# t! m
  38.             $('#send').click(function () {
    : L6 z6 f- n% O$ r( _" o
  39.                 if (ws.readyState == WebSocket.OPEN) {+ g$ {$ G' U: o6 r  B8 a) c7 V5 ?
  40.                     ws.send($("#to").val() + "|" + $('#content').val());; j/ R3 d/ U; W2 D+ X- w- I, e7 c
  41.                 }( w; \! I: c$ m
  42.                 else {
    % u2 [( ^" ]# \$ u  A, d
  43.                     $('#tips').text('连接已经关闭');5 l/ o; y1 D- _" S
  44.                 }5 O8 A* v# O; E% s( |! S
  45.             });5 ]3 R5 s  b2 Z% M3 t8 J( N

  46. / Z# @6 W6 K6 E) K4 m6 e
  47.         });
    : F+ t% e2 `" O2 T
  48.     </script>
    ) q$ H. l: z$ m/ K/ U, F
  49. </head>
    5 z2 L1 D; Z+ e, I$ O/ ?5 O
  50. <body>* S" e7 R/ d5 \4 L, |6 m
  51.     <div>
    8 l+ o! E; p% a) U! h  B
  52.         <input id="user" type="text" />
    " g' ~9 h. y1 y3 h: h
  53.         <input id="conn" type="button" value="连接" />( ]4 s  B% i, P7 G7 w
  54.         <input id="close" type="button"  value="关闭"/><br />- k% o& w; G$ \8 p& n' x5 b
  55.         <span id="tips"></span>
    ( v7 X  c6 z8 ^  O6 ^* R- A
  56.         <input id="content" type="text" />
    4 z% a; T) }9 Z. @" {* A
  57.         <input id="send" type="button"  value="发送"/><br />
    4 B+ |3 s- Z" f+ r
  58.         <input id="to" type="text" />目的用户3 q' U6 d# H; ^3 h9 D5 O0 u
  59.         <div id="msg">
    " ?- ^% u3 M8 _5 x$ i
  60.         </div>
    : h! m, ?. W- `1 w7 }4 o$ h/ X$ V
  61.     </div>, v7 p5 k) A3 `) M' V
  62. </body>
    8 G4 H! ?& Y) J+ U( I
  63. </html>
复制代码
2.客户端A和客户端B通信效果
在浏览器中分别打开两个窗口,左边为客户端A,右边为客户端B,点击“连接”按钮,AB客户端分别与服务器建立连接
填写要发送的内容,即可看到A和B互相发送的信息了,即实现了AB客户端实现了WebSocket即时通信。

% V5 @4 h* n; {* R, `




欢迎光临 cncml手绘网 (http://bbs.cncml.com/) Powered by Discuz! X3.2