提供: tty00
システム構成
- Node.js:v0.10.24
- Socket.io:0.9.16
- OS:Debian
インストール
Socket.io
npm install socket.io npm install socket.io-client
サンプルコード
Server
//server console.log('start') var onMessage = function(message, callback){ console.log('event@onMessage'); console.log('message='+message); }; var onDisconnect = function(){ console.log('event@onDisconnect'); }; var onMyEvent = function(data){ console.log('event@onMessage'); console.log(data); }; var onConnection = function (socket) { console.log('event@onConnection'); console.log('SessionID='+socket.id); //セッションIDの取得 socket.on('message',onMessage); //クライアントからsocket.send(data)を受信したときのイベント処理 socket.on('disconnect',onDisconnect); //コネクションが切断したときのイベント処理 socket.on('myEvent',onMyEvent); //クライアントから任意のイベント('myEvent')を検出したときのイベント処理 socket.emit('myEvent', { data: 'emit@server' }); //任意のイベント('myEvent')を発火する socket.send('send@server'); //データを送信する socket.broadcast.emit('myEvent', { data: 'broadcast.emit@server' }); //サーバに接続している全てのクライアントにイベントを発火する socket.broadcast.send('broadcast.send@server'); //サーバに接続している全てのクライアントにデータを送信する }; option = {'log level':2}; //0:error,1:warn,2:info,3:debug port = 8888; var io = require('socket.io').listen(port, option); //サーバインスタンスの作成 io.sockets.on('connection', onConnection); //クライアントからの接続を確立したときのイベント処理
Client
//client console.log('start') var io = require('socket.io-client') var onConnect = function(){ console.log('event@onConnect'); }; var onMessage = function(message, callback){ console.log('event@onMessage'); console.log('message='+message); }; var onDisconnect = function(){ console.log('event@onDisconnect'); }; var onMyEvent = function(data){ console.log('event@onMyEvent'); console.log(data); socket.emit('myEvent',{data:'emit@client'}); //任意のイベント('myEvent')を発火する socket.send('send@client') //データを送信する socket.disconnect(); //コネクションを切断する } var socket = io.connect('http://localhost:8888/'); //コネクションを開始する。 socket.on('connect',onConnect); //コネクションを確立したときのイベント処理 socket.on('message',onMessage); //socket.send(data)を受信したときのイベント処理 socket.on('disconnect',onDisconnect); //コネクションが切断したときのイベント処理 socket.on('myEvent', onMyEvent); //任意のイベント('myEvent')を検出したときのイベント処理 </source