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

Posted

技术标签:

【中文标题】在将用户连接到服务器之前,如何等待 Socket.IO 建立套接字连接?【英文标题】:How can I wait for Socket.IO to have a socket connection established before connecting a user to the server? 【发布时间】:2016-10-15 23:35:34 【问题描述】:

我正在运行 SocketIO-Client-Swift 以打开 WebSocket 并与服务器通信。但是我遇到的问题是我想连接到套接字,然后通过发射连接到服务器。

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)

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于在将用户连接到服务器之前,如何等待 Socket.IO 建立套接字连接?的主要内容,如果未能解决你的问题,请参考以下文章

通过 PHP 连接到 socket.io(nodejs)

如何使用 python 连接到 socket.io

如何设置 socket.io 来源以限制连接到一个 url

如何允许其他网络连接到服务器 nodejs socket io

如何从不同的主机连接到 socket.io 服务器?

如何连接插座?