2017-06-04 2 views
3

Ich verwende die socket.io NodeJs-Serverbibliothek und die Swift-Clientbibliothek. Ein Großteil der Zeit, die der Client nach einer Verbindungstrennung erfolgreich wieder mit dem Server verbindet, zeigt jedoch ab und zu abrupte Verbindungsabbrüche, und der Client kann dann nie wieder eine Verbindung herstellen.Socket.io-Client kann nach einer abrupten Trennung keine Verbindung zum Server herstellen

In den Serverprotokollen sehe ich, dass der Client einen Verbindungsversuch zum definierten Wiederholungsintervall sendet, aber er stellt die Verbindung nie erfolgreich her, und dann erhalten wir eine ping timeout.

Es gibt überraschend wenig Unterstützung für Socket.io, was es extrem schwierig zu lösen macht.

Antwort

0

Ich habe eine Lösung für unser Problem gefunden, indem wir bei Neuverbindungen eine neue Engine im Client erzwingen. Legen Sie beim Erstellen des Objekts SocketIOClient die Variable forceNew auf true fest, wodurch der Client eine neue Engine erstellen und somit die Verbindung immer erfolgreich herstellen kann.

return SocketIOClient(socketURL: socketURL, config: [.forceNew(true)]) 
Verwandte Themen