我在我的应用程序中使用socket.io swift客户端(版本13.1.0)工作正常,但有时会出现这种情况: 套接字断开连接(10次中有3次)。断开连接后,它会尝试并成功连接,但在此之后它再次断开连接,这就形成了一个无限循环的连接 - 断开状态。我被搜查但没有得到任何可能的解决方案。 我的代码非常简单。我创建了一个单例类,其代码如下:
class SocketIOManager: NSObject {
static let sharedInstance = SocketIOManager()
let manager = SocketManager(socketURL: URL(string: "URL")!, config: [.compress, .log(true), .reconnects(false)])
override init() {
super.init()
let socket = manager.defaultSocket
socket.on("connect") {data, ack in
NSLog("*************** SOCKET CONNECTED")
}
}
func establishConnection() {
let socket = manager.defaultSocket
socket.connect()
}
}
除此之外,当应用程序进入后台时,我优雅地断开套接字,然后当应用程序进入前台时再次连接它。
我尝试过的事情:
我的观察: 我在同一个项目中使用Alamofire,它在后台线程中发送请求。可能在某些时候,两个lib都开始使用相同的后台线程和套接字连接中断。
这可能吗?如果我理解错了,请纠正我。 我该怎么做才能克服这个插座断开问题。我是iOS的新手,所以任何帮助将不胜感激。