Gibt es eine Möglichkeit, eine bestimmte TCP-Verbindung anzuhalten / wieder aufzunehmen?

1598
Sergei

Ich spiele ein Online-Spiel, das mich mit zufälligen Spielern vergleicht. Ich habe herausgefunden, dass ich beim Abziehen des Ethernet-Kabels eine Minute Zeit habe zu entscheiden, ob ich will, dass dieses Spiel zählt.

Wenn etwas schief geht, starte ich das Spiel einfach neu und fange von vorne an. Wenn alles wie geplant verläuft, stecke ich das Kabel wieder ein und fahre fort.

Das Problem ist, in den meisten Fällen brauche ich zwei Minuten, um mich zu entscheiden, aber das Spiel bricht mich nach 60 Sekunden ab (Fehler "Verbindung verloren").

Die Frage ist, wie kann ich verhindern, dass eine Verbindung ausfällt?

Ich gehe davon aus, dass ich, wenn ich Keep-Alive-Pakete durchlasse, aber die eigentlichen Datenpakete pausiere, die TCP-Verbindung bei Bedarf anhalten und fortsetzen kann ipfw, oder sollte ich mit dem MITM gehen?

Das Spiel verwendet SSL-Verschlüsselung über einen Standard-TCP-Socket.

-5

2 Antworten auf die Frage

7
David Schwartz

Der Timeout ist fast sicher, wenn er die tatsächlichen Daten empfängt, auf die der Server wartet, und nicht auf die TCP-Verbindung. Auf diese Weise werden normalerweise Timeouts implementiert. Es gibt keine TCP-Zeitüberschreitungen im 60-Sekunden-Bereich, daher handelt es sich fast sicher nicht um eine TCP-Zeitüberschreitung und kann nicht durch Manipulationen auf TCP-Ebene geändert werden.

Du bist auch ein verabscheuungswürdiger Mensch.

Ich weiß, dass wir nicht +1 annehmen, aber +1 für dich Keltari vor 11 Jahren 2
Ich markiere dies als richtige Antwort - es gibt keine Timeouts von 60 Sekunden in TCP. Es ist aber noch etwas anderes dabei. Wenn ich während des Herunterladens der Datei über HTTP mein Kabel abziehe, wird der Download sofort fortgesetzt, wenn ich ihn in weniger als 60 Sekunden wieder stecke. Andernfalls bleibt er hängen Sergei vor 11 Jahren 0
Möglicherweise haben Sie einen Router, der versucht, die Verbindung an einem bestimmten Punkt aufrechtzuerhalten. Doktoro Reichard vor 11 Jahren 1
Sie haben ganz sicher recht, sieht aus, als ob ein Zwischen-Netzwerkpunkt für die abgebrochene / steckende Verbindung verantwortlich ist, wahrscheinlich mein Router (ich stehe hinter NAT). Vielen Dank! Sergei vor 11 Jahren 0
2
Flimzy

Nein.

Sobald eine TCP-Verbindung geschlossen ist, kann sie auf Netzwerkebene nicht fortgesetzt werden. Die Anwendung muss eine Resume-Funktion unterstützen, die den Status über eine neue TCP-Verbindung beibehält.

Sie können eine Funktionsanfrage an die Entwickler des Spiels senden, das Sie gerade spielen. Stellen Sie sicher, dass Sie eine Funktion benötigen, die Ihnen das Betrügen erleichtert.

Sie haben den Punkt verpasst. Ich frage Sie, wie Sie verhindern können, dass die Verbindung unterbrochen wird. Sicher, es kann nicht fortgesetzt werden, sobald es auf der Serverseite geschlossen wurde. Sergei vor 11 Jahren 0