在将用户连接到服务器之前,如何等待Socket.IO建立套接字连接?

时间:2016-06-15 03:18:43

标签: ios swift sockets socket.io flask-socketio

我正在运行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。建立连接后连接工作正常,因为我可以在日志显示连接后正确发送消息并获得反馈。

1 个答案:

答案 0 :(得分:1)

您需要等待客户端收到connect事件。这将表明它现在已连接,您可以安全地从该事件处理程序发送连接的初始数据。