nodejs構築websocketサーバ小結

2359 ワード

nodejsとjsに対して深く知らないで、プロジェクトの上で使って、臨時はすぐ使って、websocketのいくつかappiだけを学んで、小さい結び目をして、websocketがまだ大いに前途があるためです.
1、環境構築
(1)nodeの取り付け
          ソースを直接ダウンロードします.
(2)node-server-websocketモジュールの取り付け
          先に/usr/bin/ディレクトリの下にnode実行ファイルがあることを確認します.
      npm install -g ws 
(3)新しいモジュールのLinkをnode実行プログラムに渡す
     sudo ./npm link ws
2、サーバースクリプト
(1)サーバタイプを作成し、WSに指定する.
      var  wsServer = require('ws').Server;
(2)ウェブServerサーバを実装し、待ち受けポートを設定する
      wss = new wsServer({port:XXX});
(3)サーバ側のイベント処理を追加する.クライアントはイベントの接続を要求する.
     wss.addListener('connection',function handle(conn));  //conn              ,       ,conn     
(4)クライアント・メッセージ・イベントに対するサーバの追加処理、クライアントからのメッセージ送信
     conn.addListener('message',function handle(msg));
完全な単純な例
var conns = new Array();
 
var ws = require('ws').Server;
 
var server = new ws({port:9090});
 
server.addListener('connection', function(conn){
    console.log('connection....');
     
    conns.push(conn);
    conn.addListener('message',function(msg){
        console.log(msg);
        for(var i=0; i
3、クライアントスクリプト(javascript実現)
(1)websockクライアント接続を実装する
     var ws = new WebSocket(url); //url = "ws://ip:port/XXX"
(2)必要に応じてwebsocketのイベント関数を実現します.
     ws.onopen = function(event){ ... };
     ws.close = function(event){ ... };
     ws.onerror = function(event){ ... };
     ws.onmessage = function(event){ ... };  //       
(3)データの送信
     ws.send(string);
完全な単純な例


Test Client


var socket = new WebSocket("ws://......"); document.write("Clinet is running..."); socket.onmessage = function(event){ document.write("recving data"); }; socket.onopen = function(event){ alert("websocket is open"); }; socket.onerror = function(event){ document.write("websocket create failed"); }; window.onbeforeunload = function(){ socket.send("Client is Leaving"); return "Are you sure"; };