socket.io不会持久连接

时间:2020-08-30 02:05:10

标签: node.js socket.io

我的应用模块中包含以下代码。

var socket_io = require( 'socket.io' );
const io = socket_io();
io.on( "connection", function( socket ) {   
    console.log(io.sockets.connected[socket.id]); 
}

这将返回一个套接字。

我的应用模块中的以下函数返回未定义的

var emit_to_socket = function (id) {
    console.log(io.sockets.connected[id]);
}

当我使用io.emit()时,客户端会收到消息;但是消息将广播到所有客户端:

 var emit_to_socket = function (id) {
    io.emit('message');
 }

我需要知道如何将消息发送到特定的套接字。

1 个答案:

答案 0 :(得分:2)

您可以使用

socket.to(<desired_socket_id>).emit('message')

下面是文档中的示例:https://socket.io/docs/server-api/#socket-to-room

io.on('connection', (socket) => {
  socket.on('say to someone', (id, msg) => {
    // send a private message to the socket with the given id
    socket.to(id).emit('my message', msg);
  });
});
相关问题