我刚开始工作节点js.I一直在尝试使用节点js创建聊天应用程序。其中一个用户可以通过多个设备或浏览器登录。如果我没有错,并且据我了解每个浏览器与不同的端口地址通信,因为套接字连接是由IP地址和端口地址定义的,因此当同一用户从两个不同的浏览器登录时,服务器会创建两个不同的套接字Id.Now如果用户已通过检查发送到套接字信息的参数连接。那么如果用户已连接或套接字已为用户设置,那么我创建连接以将套接字标识更改为之前套接字标识为。节点js中的套接字连接
io.on('connection', function(socket){
socket.id = k;
});
其中k是先前连接的同一用户的套接字ID查阅
当任何其他客户端发出消息,那么当前用户是插座ID替换和仅一个浏览器获得的消息或二者获取消息。服务器的连接是为浏览器还是单个浏览器设置的。请帮助我。我仍然不清楚在客户端和服务器之间如何建立套接字连接。 如果我错误地做了任何假设,请改善或者我如何解决下面的情况。 在此先感谢
我的问题恰恰是针对不同的浏览器或计算机。当用户从多台计算机登录或可能是不同的浏览器时会发生什么情况。 –
不同的浏览器或不同的计算机(当你没有房间/名称空间的实现)将会有相同的许多选项卡。插座可以让我们说'someIp:somePort'例如'98.45.32.21:3000',不会改变,所以,当发送“hello”的服务器会用hello(在上面的实现中)回复所有人。 – mkaran
如果您希望用户从两个不同的浏览器登录并看到相同的消息 - 但只有他的消息,那么您应该将该用户与正确的房间相关联,以便当他从另一个浏览器连接并且您知道它是用户sagar',你会和他一起进入正确的房间。 – mkaran