kin*_*nza 5 multithreading ios socket.io swift
我在我的应用程序中使用 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()
}
}
Run Code Online (Sandbox Code Playgroud)
除此之外,当应用程序进入后台时,我优雅地断开套接字,然后在应用程序进入前台时再次连接它。
我尝试过的事情:
我的观察: 我在同一个项目中使用 Alamofire,它在后台线程中发送请求。可能在某个时间点两个库都开始使用相同的后台线程和套接字连接中断。
这可能吗?如果我的理解有误,请纠正我。我应该怎么做才能克服这个套接字断开连接的问题。我是 iOS 的新手,所以任何帮助将不胜感激。
| 归档时间: |
|
| 查看次数: |
1560 次 |
| 最近记录: |