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