Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么socket.io不加入给定的房间?_Node.js_Socket.io - Fatal编程技术网

Node.js 为什么socket.io不加入给定的房间?

Node.js 为什么socket.io不加入给定的房间?,node.js,socket.io,Node.js,Socket.io,我尝试将插座连接到房间时遇到问题。房间的名称为socket.id,在连接时指定。但当这种情况发生时,它并没有进入房间。可能是什么错误 客户端代码: var socket = io(); socket.on("connect", function() { socket.emit("joinRoom", socket.id); }); socket.on("agentMessage", function(msg) { $('#messages').append("<div

我尝试将插座连接到房间时遇到问题。房间的名称为socket.id,在连接时指定。但当这种情况发生时,它并没有进入房间。可能是什么错误

客户端代码:

var socket = io();

socket.on("connect", function() {
    socket.emit("joinRoom", socket.id);
});

socket.on("agentMessage", function(msg) {
    $('#messages').append("<div class='agent-messages'><p>" + msg + "</p></div>");
});

您的
客户
实际上正在加入
房间
,但它没有发送
消息
。当您从
服务器
端发送
消息时,您不能使用
套接字
发送消息,因为
套接字
代表
客户端
连接,不能代表
服务器
抛出
事件
。你必须使用

  io.to(roomID).emit("agentMessage", "Welcome!");
因为io代表一个服务器实例,可以代表服务器(实际上是服务器)抛出事件。


谢谢,伙计,这就是问题所在!如果这解决了您的问题,请将答案标记为正确,这样也会帮助其他人。
  io.to(roomID).emit("agentMessage", "Welcome!");