我正在尝试用swift 4连接socket.io。但是当我尝试按照其文档所述连接套接字服务器时,我的socket.status陷入了连接状态。谁能帮我。这是我连接socket.io的代码。 showconfig是他们的测试套接字聊天服务器。
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()
答案 0 :(得分:1)
创建并连接后,您必须将SocketManager
的实例存储在某个地方(或者在您的情况下为SocketIOManager,其中包含SocketManager)。
例如,只需在SocketIOManager
中为ViewConroller
创建变量(或静态变量)
var socketIOManager = SocketIOManager()
override func viewDidLoad() {
socketIOManager.add()
}
@IBAction func testButtonTap(_ sender: Any) {
var status = socketIOManager.manager.defaultSocket.status
print("\(status)")
}