gpt4 book ai didi

node.js - Socket.io 客户端重新连接不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 23:40:23 24 4
gpt4 key购买 nike

我使用 Socket.io 在 Node.js 服务器和客户端网站之间进行通信。一切都很好!除了一件事。

我允许用户断开与 Socket.io 的连接并稍后重新连接,或者至少我正在尝试这样做。请记住,调用 io() 的套接字存储在 mySocket 中,使用 mySocket.io.disconnect() 断开连接效果很好。服务器捕获它,客户端知道它已断开连接,这很棒。问题是当我稍后尝试重新连接时...

所以一开始我只是尝试再次设置mySocket=io(),但失败了。我了解到有一种重新连接方法,所以我尝试使用它,但我的问题变得更糟。所以现在我使用 mySocket.io.reconnect(),并且得到了一些奇怪的结果,如下所述。

首先,服务器正在尝试重新连接。它很好地捕获了 on('connection',...) 事件。然而,客户端似乎认为它永远不会重新连接——例如,mySocket.connected的值保持在false并且所有emit()调用失败(并且永远无法到达服务器)。

除了简单的mySocket.io.reconnect()之外,我还应该使用一些特殊的方法吗?或者我应该设置一些变量或参数?如果客户端认为未连接,为什么我的服务器会捕获重新连接?发生了什么事以及如何解决它?

最佳答案

在客户端代码中:

mySocket = io('/', {forceNew: true}) 在类似的情况下帮助了我。

关于node.js - Socket.io 客户端重新连接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24886481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com