我的应用模块中包含以下代码。
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');
}
我需要知道如何将消息发送到特定的套接字。
答案 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);
});
});