提供: tty00

移動: 案内検索

システム構成

  • 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')を検出したときのイベント処理