socket.io明晰
1223 ワード
io.emit
とio.sockets.emit
は同じで、接続されているすべてのクライアントに送信されます.io.emit('an event sent to all connected clients');
io.sockets.emit('an event sent to all connected clients');
io.emit
socket.broadcast.emit
は、現在の接続以外の接続のサーバ側と同様にメッセージsocket.on socket.emit
言うまでもなく現在の接続にデータを関連付けて格納するsocketは、1つのセッションサイクルにおいて、ほとんどの場合、現在のセッション者のデータを格納して、これらのデータを識別または特定の状況で取得する必要があります.サンプルコード
var io = require(‘socket.io‘).listen(80);
io.sockets.on(‘connection‘, function (socket) {
socket.on(‘set nickname‘, function (name) {
socket.set(‘nickname‘, name, function () {
socket.emit(‘ready‘);
});
});
socket.on(‘msg‘, function () {
socket.get(‘nickname‘, function (err, name) {
console.log(‘Chat message by ‘, name);
});
});
}); 。
サービス側がconnectionのイベントを受信すると、socketは接続が確立されたときにブラウザ側から握手メッセージsocketを携帯する.handshakeこれらのブラウザ側の情報が得られると,権限の検証が容易になる.socket.ioはioを同時に提供する.set('authorization', callback);
メソッドを使用して、各接続に権限制限を行います.http://deadhorse.me/nodejs/2011/12/29/socket.io_induction.html