2017-06-12 5 views
-2

Ich habe einen C++ Server und einen Client.Sowohl Server als auch Socket melden ECONNRESET. Was ist los?

Ich benutze den Systemaufruf poll(), um Sockets auf dem Server auf Read Ready, Write-Ready und Fehler zu überwachen.

Für einige der Verbindungen, sehe ich die Poll() erkennt einen ECONNRESET nach dem Senden einer Reihe von Daten und schlägt in der Mitte. Auch auf der Client-Seite sehe ich ein ECONNRESET gemeldet.

Im Wesentlichen berichten beide Seiten, dass die Remote-Seite die Verbindung geschlossen hat.

Wie kann das passieren? Wie debugge ich das? Gibt es eine TCP-Layer-Protokollierung, die ich aktivieren kann?

+2

Haben Sie Zugriff auf Wireshark, um eine Paketverfolgung aufzuzeichnen und zu sehen, was über das Netzwerk läuft? – user4581301

+1

Es kann eine Menge Gründe geben, warum dies passieren kann, ich würde die Verwendung von wireshark wie im obigen Kommentar erwähnt empfehlen. –

+0

Veröffentlichen Sie bitte eine [mcve]. –

Antwort

1

Gibt es eine TCP-Layer-Protokollierung, die ich aktivieren kann?

Das am häufigsten verwendete Tool, mit dem Sie sehen können, was auf Ihren IP-Transportkanälen auf niedriger Ebene abläuft, ist Wireshark.

Sie können alle Pakete, die über Ihre Netzwerkkarte gesendet und empfangen werden, im Detail mit diesem Tool überprüfen.

Eine andere ist tcpdump für Linux-Systeme.

+0

Leider ist dies in einer Testumgebung mit vielen Servern. Ich habe keine Kontrolle über die Maschinen. Auch wenn ich tat, wie ich Pakete genau erfassen, wenn dieses Problem auftritt. – siri

+0

@siri Sie müssen nur die Kontrolle über Ihren Client-Rechner haben, um den Datenverkehr zu überwachen. –

+0

Ich habe viel Verkehr über diese Maschine. Dieses Problem tritt nur manchmal auf. Viele Verbindungen und alle von ihnen erkennen Socket-Fehler 104 selbst in einem erfolgreichen Fall nach einer vollständigen Übertragung. Nur in einigen Fällen sehe ich die Verbindung auf beiden Seiten in der Mitte der Übertragung zurückgesetzt. Wie verwende ich tcpdump, um dieses Szenario zu erfassen? – siri

Verwandte Themen