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()
发送到特定的套接字。这比发送给每个人都要有效得多,特别是当你有很多连接的套接字时。
你必须向我们解释更多关于你如何知道你想要发送给哪个套接字或用户的信息,以便我们帮助找出如何在你的服务器上进行关联。
插座。IO有"房间"的概念,它是一组套接字,使您可以轻松地将套接字放置在特定组中,然后广播到特定组的套接字。
或者,每个套接字都有一个id,每个套接字都可以访问第一次建立连接时存在的cookie,这两者有时都可以用来确定您想要发送给哪个用户。但是,你必须解释你是如何知道你想要发送给哪个用户的,以便我们帮助你了解如何将其编码到你的服务器
相关文章:
- 为什么在python中使用异常比javascript更容易接受
- 代码重构一个长 JavaScript 字符串,使其更容易设置样式
- 哪个JavaScript框架对新手来说更容易:Ember.js,Canjs,Angular.js
- 哪一段代码通常更容易被接受
- 可以更容易地组合这些功能吗
- 如何组织HTML以实现更快、更容易的编辑
- 如何映射对象's键,使JSON在React中更容易处理
- vue-webpack模板(通过vue-cli)以后会变得更容易使用吗
- Phonegap与native相比更容易开发
- Node js连接两个套接字,以便检索将更容易
- 如何结合JQuery选择器和变量来缩短代码,从而更容易扩展
- 更容易知道用户何时单击任何iframe
- 在PhoneGap上构建比在Titanium上更容易吗?
- 在Appcelerator钛我如何禁用javascript代码优化,使调试更容易
- 使用jquery构建动态html,或者它一定比这更容易
- 使“;nested"JavaScript代码更容易阅读
- 在模板中使用定位器名称来编写更容易的端到端测试是一个坏主意吗?
- 如何在循环中检索更高效的本地存储目标
- jQuery动画到透明-更容易的解决方案
- 如果可以使开发更容易,忽略命名约定是否可以接受?