Javascript socketio手动设置套接字id

Javascript socketio手动设置套接字id,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我正在使用socketio v0.9.16我想更改套接字id io.on('connection', function(socket){ socket.id = 123; io.sockets.sockets[123].emit('test'); // emit doesn't work }); 有什么想法吗?SocketIO Docs说,我如何才能做到这一点 Socket.IO中的每个套接字都由一个随机的、不可用的唯一标识符Socket#id标识 所以也许你可以这

我正在使用socketio v0.9.16我想更改套接字id

io.on('connection', function(socket){

      socket.id = 123;
      io.sockets.sockets[123].emit('test'); // emit doesn't work

});
有什么想法吗?SocketIO Docs说,我如何才能做到这一点

Socket.IO中的每个套接字都由一个随机的、不可用的唯一标识符Socket#id标识

所以也许你可以这样做

var socket_list = [];

io.on('connection', function(socket){

  socket_list[""+123] = socket.id;
  io.sockets.sockets[socket_list[""+123]].emit('test');

});

您不需要更改套接字的id(事实上,这可能会破坏某些东西)。你想加入一个房间。这应该是可行的(假设您有一个用于“测试”的客户端侦听器):


有什么解决办法吗?
io.on('connection', function (socket){
  socket.join(123);
  io.sockets.to[123].emit('test');
});