Stoppen Sie socket.io von der Wiederverbindung

8

Einfaches Szenario:

  1. Der Client verbindet sich mit dem Server mit socket.io ( socket = io.connect(...) )
  2. Server stürzt ab
  3. Der Client versucht, die Verbindung wiederherzustellen
  4. Der Benutzer weist den Client an, die Verbindung zu trennen ( socket.disconnect() )
  5. Der Server startet
  6. Der Client verbindet sich erneut

Es scheint so, als ob socket.io anfängt, die Verbindung wiederherzustellen, es kann nicht mehr gestoppt werden. Ich möchte Schritt 4, um zu verhindern, dass Schritt 6 passiert, aber das tut es nicht. Was muss ich stattdessen anrufen?

    
Lemming 18.06.2012, 19:17
quelle

3 Antworten

19

Vielleicht möchten Sie die Wiederverbindung selbst behandeln.

%Vor%

Hinweis: Alte Versionen verwendeten reconnect anstelle von reconnection .

    
Alexandre Kirszenberg 29.06.2012, 18:19
quelle
2

Ich denke, was Sie brauchen, ist konfigurieren socket.io client to Nicht reconnect ist die Eigenschaft reconnect auf false

gesetzt

Ich habe einen kleinen Server ( server.js ) erstellt, um dies zu testen:

%Vor%

Dann habe ich dieses test.js erstellt, um zu testen, dass es nicht wieder verbindet

%Vor%

Damit test.js funktioniert, müssen Sie socket.io-client von npm issing npm install socket.io-client installieren oder indem Sie socket.io-client (dev -) dependency zu Ihrer package.json hinzufügen.

Wenn ich server.js stoppe, während test.js läuft test.js kehrt sofort zurück, was ich für das gewünschte Ergebnis halte. Wenn ich reconnect auf true setze, wird der Client versuchen, die Verbindung zum Server wiederherzustellen, was nicht das gewünschte Verhalten ist

    
Alfred 23.06.2012 01:11
quelle
0

In einem neuen socket.io 1.1.x können Sie Folgendes tun:

%Vor%

Hier ist Blog-Link .

    
Salvador Dali 07.09.2014 21:30
quelle

Tags und Links