我需要知道如何在sails.js中省略sails.sockets.broadcast中的两个或更多套接字吗?我尝试了这个:
function sendMessage(data){
var socketIds = ['socketId1','socketId2'];
sails.sockets.broadcast("room","event",data,socketIds);
//sending data to ALL sockets in the room :/
}
但这不起作用。
我需要知道这一点,因为我需要省略属于同一会话的套接字。(示例:计算机浏览器和android浏览器中的用户会话)
有人帮忙吗?
没有内置功能可以为您完成此操作,但是无论如何broadcast
都只是一个包装器emit
,因此您可以通过获取要广播到的房间中的所有套接字ID并省略阵列中的ID来滚动自己的容器。
// Get all the IDs of the sockets subscribed to "room"
var socketIds = sails.sockets.subscribers("room");
// Remove the IDs you want to omit
socketIds = _.difference(socketIds, ['socketId1','socketId2']);
// Emit your event to the rest!
sails.sockets.emit(socketIds, "event", data);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句