繁体   English   中英

Node js连接两个套接字,以便检索将更容易

[英]Node js connecting two socket so that retrieving would be easier

目前,我现在正在使用io.emit将事件发送给所有连接的用户,在客户端,我检查发出的用户ID是否等于客户端的ID,然后条件运行,我认为这使我的代码混乱而且有点慢,我可以像在一组中进行连接一样进行任何操作,所以在检索它们时我会更轻松。

//server side
var id = 1;
io.emit('check',id);

// on client side 
socket.on('check',function(data){
var current_user_login = //getting current user login id by php
if(data == current_user_login) { 
//run some code
}
});

如果要在同一房间中放置某些插座,以方便将它们一起广播。 尝试这个:

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.join('group');
  socket.broadcast.to('group').emit('new member');
});

希望这可以帮助。

解决此问题的更好方法是在要向其发送数据的用户和该用户的套接字之间创建关联,这样您就可以仅.emit()到该特定套接字。 这比发送给所有人的效率要高得多,尤其是当您有大量连接的套接字时。

您将不得不向我们解释更多有关如何知道要发送给哪个套接字或用户的信息,以帮助我们确定如何在服务器中进行该关联。

socket.io具有“房间”的概念,它们是一组插座,使您可以轻松地将一个插座放入特定的组中,然后广播到特定的一组插座。

或者,每个套接字都有一个id,并且每个套接字都可以访问首次建立连接时存在的cookie,有时这两个cookie都可以用来标识您要发送给哪个用户。 但是,您必须解释一下您如何知道要发送给哪个用户,以帮助我们了解如何将其编码到服务器中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM