当我们连接到socket.io时,我们必须定义服务器IP,或者如果文件托管在同一服务器中,则将其留空。
每次发射我们发射,都会抛出每个插座连接。
如果我们在同一台服务器上有两个应用程序, 来自app1的所有发出都将在app2中发出,反之亦然。
如何避免这种情况?
答案 0 :(得分:0)
这取决于你的意思"两个应用程序"。如果你的意思是与同一个socket.io服务器的两个连接,则有意设计是io.emit()
以发送到当前服务器的所有连接。
如果在同一主机上有两个单独的socket.io服务器,那么那些socket.io服务器必须位于不同的端口上(在同一端口上不能有两个实际的服务器)以及{{1一个与另一个无关,因为两个服务器的io.emit()
对象将是完全不同的对象,它们连接到完全不同的服务器。
因此,它实际上取决于您在主机上配置的内容。如果您显示两台服务器的实际服务器端代码,我们可以更具体地回答。
如果您只有一个socket.io服务器,并且您正在寻找将消息发送到一组已连接套接字的方法,则可以使用namespaces or rooms。命名空间是客户端连接的东西。房间是服务器与io
建立连接的东西。然后,您可以.join()
到命名空间或房间,它将发送到该集合中的所有套接字。