提供: tty00
(ページの作成:「== システム構成 == *Node.js:v0.10.24 *Socket.io:0.9.16 *OS:Debian == インストール == === Socket.io === npm install socket.io npm install socket.io-client ...」) |
(→サンプルコード) |
||
行10: | 行10: | ||
== サンプルコード == | == サンプルコード == | ||
− | === | + | === 実行方法 === |
+ | node server.js | ||
+ | node client.js | ||
+ | === server.js === | ||
+ | サーバ | ||
<source lang=javascript> | <source lang=javascript> | ||
//server | //server | ||
行53: | 行57: | ||
</source> | </source> | ||
− | === | + | === client.js === |
+ | クライアント | ||
<source lang=javascript> | <source lang=javascript> | ||
//client | //client |
2013年12月23日 (月) 12:39時点における版
システム構成
- Node.js:v0.10.24
- Socket.io:0.9.16
- OS:Debian
インストール
Socket.io
npm install socket.io npm install socket.io-client
サンプルコード
実行方法
node server.js node client.js
server.js
サーバ
//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.js
クライアント
//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