使用swift连接到socket.io时卡在连接状态
我正在尝试将socket.io与swift 4连接。但当我尝试连接socket服务器时,正如他们的文档所述,我的socket.status会陷入连接状态。谁能帮帮我吗。这是我连接socket.io的代码。 是他们的测试套接字聊天服务器使用swift连接到socket.io时卡在连接状态,swift,socket.io,Swift,Socket.io,我正在尝试将socket.io与swift 4连接。但当我尝试连接socket服务器时,正如他们的文档所述,我的socket.status会陷入连接状态。谁能帮帮我吗。这是我连接socket.io的代码。 是他们的测试套接字聊天服务器 let manager = SocketManager(socketURL: URL(string:"https://socket-io-chat.now.sh/")!, config: [.log(true), .compress]) func add(){
let manager = SocketManager(socketURL: URL(string:"https://socket-io-chat.now.sh/")!, config: [.log(true), .compress])
func add(){
let socket = manager.defaultSocket
socket.on(clientEvent: .connect) {data, ack in
print("socket connected")
}
socket.on(clientEvent: .disconnect) { (data, ack) in
print("disconnect")
}
socket.on(clientEvent: .error) { (data, ack) in
print("error connect")
}
socket.connect()
for index in 1...50 {
print("\(socket.status) +\(index)")
}
}
这就是我如何调用该类方法的
SocketIOManager().add()
创建并连接后,必须将
SocketManager
的实例存储在某个地方(或者在您的情况下,存储包含SocketManager的SocketIOManager)
例如,只需在ViewConroller
中为SocketIOManager
创建变量(或静态变量)
创建并连接后,必须将
SocketManager
的实例存储在某个地方(或者在您的情况下,存储包含SocketManager的SocketIOManager)
例如,只需在ViewConroller
中为SocketIOManager
创建变量(或静态变量)
我相信您错过了所有TLS协商回调,在协商安全参数之前,您的套接字无法完全连接。注意你的URL中的“https”,但它一直处于连接状态,即使我用我的本地主机服务器进行测试@ekscryptoI认为您缺少所有TLS协商回调,在协商安全参数之前,您的套接字无法完全连接。注意你的URL中的“https”,但它一直处于连接状态,即使我用我的本地主机服务器进行测试@ekscrypto
var socketIOManager = SocketIOManager()
override func viewDidLoad() {
socketIOManager.add()
}
@IBAction func testButtonTap(_ sender: Any) {
var status = socketIOManager.manager.defaultSocket.status
print("\(status)")
}