J'utilise SocketIO-Client-Swift pour ouvrir WebSockets et communiquer avec un serveur. Cependant, le problème que je rencontre est que je veux me connecter à la socket, puis me connecter au serveur avec un emit.Comment puis-je attendre que Socket.IO ait une connexion socket établie avant de connecter un utilisateur au serveur?
SocketIOManager.sharedInstance.connectToSocket()
SocketIOManager.sharedInstance.connectToServer(self.myUsername)
Et les points aux fonctions ici:
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)
}
Même après l'enregistrement de la poignée, la Emit est appelée avant que la prise est correctement connecté. La connexion fonctionne correctement une fois que la connexion a été établie, car je peux envoyer des messages et recevoir des commentaires après que mon journal affiche une connexion.