nodejs構築websocketサーバ小結
2359 ワード
nodejsとjsに対して深く知らないで、プロジェクトの上で使って、臨時はすぐ使って、websocketのいくつかappiだけを学んで、小さい結び目をして、websocketがまだ大いに前途があるためです.
1、環境構築
(1)nodeの取り付け
ソースを直接ダウンロードします.
(2)node-server-websocketモジュールの取り付け
先に/usr/bin/ディレクトリの下にnode実行ファイルがあることを確認します.
(1)サーバタイプを作成し、WSに指定する.
(1)websockクライアント接続を実装する
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";
};