2

我正在运行 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)
}

即使在注册句柄之后,在套接字正确连接之前也会调用发射。建立连接后连接工作正常,因为我可以在我的日志显示连接后正确发送消息并获得反馈。

4

1 回答 1

3

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

于 2016-06-15T07:08:39.740 回答