我正在尝试使用sails.js设置一个系统,让服务器向一组客户端广播消息。基本上:
1. 组A中的客户端发送AJAX请求到服务器 2. 服务器处理请求并通过socket将消息发送给组B的所有客户端 3. 组B的客户端通过socket接收消息并显示内容。
根据socket.io文档,我应该能够让组B的客户端加入一个“房间”,然后让服务器向该特定房间广播,但在客户端方面,预先存在的“socket”没有方法“socket.join('room')”。因此,我尝试仅向所有客户端发送一个唯一事件:
1. 组A中的客户端发送AJAX请求到服务器 2. 服务器处理请求并通过socket将消息发送给组B的所有客户端 3. 组B的客户端通过socket接收消息并显示内容。
根据socket.io文档,我应该能够让组B的客户端加入一个“房间”,然后让服务器向该特定房间广播,但在客户端方面,预先存在的“socket”没有方法“socket.join('room')”。因此,我尝试仅向所有客户端发送一个唯一事件:
socket.on("connect", function(){
console.log("Client Connected");
});
socket.on("my_event", function(data){
console.log("my_event received");
});
在服务器端,通过执行"sails.io.sockets.emit("my_event", {...})" 的方式可以正常工作,但这样不是向每个客户端发送事件吗?我可以使事件名称唯一,比如使用"my_event_000"并指定ID来指定组,但仍会向每个客户端发送事件。
我应该使用“房间”吗?如果是的话,要怎么做呢?