2009-05-05 7 views
0

Ich habe einen TCP-Listener-Dienst, zu dem die Clients eine Verbindung herstellen. In letzter Zeit habe ich diesen Fehler im Zusammenhang mit der Verbindungstrennung erhalten. Ich verbinde ungefähr 20 Clients damit und die Verbindung funktioniert gut. Wenn ich jedoch weitere 10 Clients an den Dienst anschließe, brechen die vorherigen Verbindungen mit einem Fehler 10053 oder 10054 ab.Existierende Verbindung wird geschlossen, wenn neue TCP-Verbindungen hergestellt werden

Bisher lief es mit 100 Clients, aber ich bin mir nicht sicher, was das Problem sein könnte. Der Dienst und die Clients werden beide unter Windows Server 2003 ausgeführt, da ich festgestellt habe, dass Windows XP ein bekanntes Problem mit mehreren TCP-Verbindungen (bezogen auf 10053) aufweist.

Antwort

0

Nun, die Fehler, die Sie erhalten, sind sehr unterschiedlich.

10053 ist ein WSAECONNABORTED - Die Verbindung wurde abgebrochen. Dies liegt normalerweise an einem Problem in Ihrem Anwendungsstapel (obwohl es manchmal passiert).

10054 ist ein WSAECONNRESET - Die Verbindung wurde von Peer zurückgesetzt. Dies ist normalerweise eher ein Problem auf der anderen Seite der Verbindung.

Wie testen Sie das? Sind die "Kunden", die mit diesem Dienst verbunden sind, etwas, das Sie geschrieben haben? Wenn ja, sollten Sie verfolgen, was auf der Client-Seite passiert, wenn Sie eine 10054 erhalten.

Auch dies könnte möglicherweise auf Netzwerkprobleme zurückzuführen sein, unabhängig von Ihrer Software (direkt). Hat sich die Netzwerkinfrastruktur, auf der Sie arbeiten, geändert?

+0

Ich teste mit einem benutzerdefinierten Client, der eine Reihe von Verbindungen (Threads) zum Dienst und auch über GNSS Surfer erstellt, d. H. Einen NTRIP-Client zum Testen von NTRIP-Servern. 10054 scheint vernünftig, wie es kommen könnte, wenn der Client die Verbindung trennt, aber das eigentliche Problem ist 10053. Zuvor fand ich, dass 10053 mit Windows XP verwandt ist, aber jetzt das Problem auch in Windows Server 2003 gesehen werden kann. – A9S6

+0

10053 ist nicht spezifisch Windows XP - es hängt normalerweise mit Netzwerkproblemen zusammen. Führen Sie Ihre Clients lokal (von localhost) oder über Ihr Netzwerk zu diesem System aus? Läuft es in einem lokalen Netzwerk, auf einer einzelnen Maschine oder über das Internet? –

+0

Dieser Link besagt, dass das Problem mit XP ist: http://support.microsoft.com/kb/938566 – A9S6

0

Ich bezweifle, dass es ein Netzwerkproblem ist, oder Sie würden es wahrscheinlich sehen, wenn die ersten 20 Clients verbinden. Nur ein Schuss in die Dunkelheit, aber wie gehst du mit diesen Verbindungen um? Verwenden Sie eine Art von Array oder Sammlung? Könnten Sie unbeabsichtigt bestehende Verbindungen zu neuen Verbindungen setzen, wodurch das System ausflippt?

Verwandte Themen