我正在运行SocketIO-Client-Swift以打开WebSockets并与服务器通信。但是我遇到的问题是我想连接到套接字然后用发射连接到服务器。
SocketIOManager.sharedInstance.connectToSocket()
SocketIOManager.sharedInstance.connectToServer(self.myUsername)
这些指向函数:
func connectToSocket() {
addHandlers()
socket.joinNamespace("/chat")
socket.connect()
}
func addHandlers() {
self.socket.on("connectUser") { data in
print("socket connected")
}
}
func connectToServer(username: String) {
socket.emit("connectUser", username)
}
即使在注册句柄之后,也会在套接字正确连接之前调用emit。建立连接后连接工作正常,因为我可以在日志显示连接后正确发送消息并获得反馈。
答案 0 :(得分:1)
您需要等待客户端收到connect
事件。这将表明它现在已连接,您可以安全地从该事件处理程序发送连接的初始数据。