gpt4 book ai didi

swift - 使用 swift 连接到 socket.io 时卡在连接状态

转载 作者:行者123 更新时间:2023-11-28 14:23:51 25 4
gpt4 key购买 nike

我正在尝试将 socket.io 与 swift 4 连接。但是当我尝试按照他们的文档所述连接套接字服务器时,我的 socket.status 卡在了连接状态。谁能帮帮我。这是我连接 socket.io 的代码。 https://socket-io-chat.now.sh/是他们的测试套接字聊天服务器。

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 创建变量(或静态变量)

var socketIOManager = SocketIOManager()

override func viewDidLoad() {
socketIOManager.add()
}


@IBAction func testButtonTap(_ sender: Any) {
var status = socketIOManager.manager.defaultSocket.status
print("\(status)")
}

关于swift - 使用 swift 连接到 socket.io 时卡在连接状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51760453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com