socket.io v0.8でチャネリングさせた時のIDを指定したemit
前提知識
var io = require('socket.io').listen(80); io.sockets.on('connection', function (socket) { var お前のID = socket.id });
でsocketの識別IDが取れる。識別IDが取れると
var io = exports.io = require('socket.io').listen(app); io.sockets.socket('ソケットのID').emit('hoge', 'message');
これで自由に送れる。
だが、チャネリングした際には送れない。
このようにせよ。
var io = exports.io = require('socket.io').listen(app); var chat = io.of('/chat').on('connection', function(socket) { socket.on('hello', function(message) { if('ソケットのID' in chat.sockets) chat.sockets['ソケットのID'].emit('hello-client', 'message'); }); });