【问题标题】:Socket.io client fails to reconnect to server after an abrupt disconnectionSocket.io 客户端在突然断开连接后无法重新连接到服务器
【发布时间】:2017-11-05 16:40:46
【问题描述】:
我正在使用 socket.io NodeJs 服务器库和 Swift 客户端库。大多数情况下,客户端在断开连接后会成功重新连接到服务器,但偶尔我们会看到突然断开连接,然后客户端永远无法重新连接。
在服务器日志中,我看到客户端在定义的重试间隔发送连接尝试,但是它从未成功建立连接,然后我们得到一个ping timeout。
令人惊讶的是,对 Socket.io 的支持很少,这使得解决这个问题变得非常困难。
【问题讨论】:
标签:
ios
node.js
swift
socket.io
【解决方案1】:
我找到了解决我们问题的方法,方法是在重新连接时强制在客户端中创建一个新引擎。在创建SocketIOClient 对象时,将forceNew 变量设置为true,允许客户端创建新引擎,从而始终成功建立连接。
return SocketIOClient(socketURL: socketURL, config: [.forceNew(true)])