socket.io在重新连接后再建立一个连接

我想一个简单的聊天应用程序在这里与socket.io和node.js中

每次重新启动node.js服务器时,socket.io都会自动重新连接,并以某种方式创建与服务器的另一个连接,即客户端现在两次收到相同的聊天消息。我该如何解决?

回答:

默认情况下,在disconnect

socket.io上重新连接丢失的连接,从而重新运行connect事件。因此,每次重新连接时,您都会添加一个事件监听器来接收消息。因此,您会收到多个消息,这些消息等于服务器重新启动/连接丢失。

Incoming Chat: 

Connected

dsdadsada

Disconnected //recieved by 1st listener

Connected //added 2nd listener

adasd

Disconnected //recieved by 1st listener

Disconnected //recieved by 2nd listener

Connected //added 3rd listener

您应该使用once而不是来监听第一个连接on,该连接仅在第一次运行eventhandler。尝试

iosocket.once('connect', function () {

代替

iosocket.on('connect', function () {

以上是 socket.io在重新连接后再建立一个连接 的全部内容, 来源链接: utcz.com/qa/415798.html

回到顶部