![]() |
Socket Fehler 10051. Aber nur beim "brutalen" schl
hi zusammen,
habe hier im Forum schon mal nach diesem Fehler gesucht und habe da auch einiges gefunden. Nur leider werde ich daraus nicht schlau und komme nicht mehr weiter :( . Mein Client / Server Anwendung funktioniert wunderbar. Der Client befindet sich in einem Thread. Zum Test sendet der Client und der Server alle 100ms einen string. Wenn der Client Offline geht, über schließen, alles wunderbar. Ziehe ich aber das Netzwerkkabel kommt (eher selten) beim Server diese Meldung Zitat:
Zitat:
Wie kann ich diese unterbinden bzw. abfangen? Errorcode = 0 bringt nichts. Der Client soll immer die Verbindung versuchen zu halten bzw. aufbauen egal wie der Server beendet wurde. Wenn ihr Sourcen braucht sagt welche eventuell helfen..... thx |
Re: Socket Fehler 10051. Aber nur beim "brutalen"
habe noch was vergessen. Wenn ich den Client und den Server auf einem Computer laufen lasse, kein Thema ohne Probleme. Egal wie ich den Server schließe bekomme keine Fehlermeldung.
|
Re: Socket Fehler 10051. Aber nur beim "brutalen"
kann mir keiner helfen bzw. was zu der Meldung sagen.....
|
Re: Socket Fehler 10051. Aber nur beim "brutalen"
Edit: folgendes hilft, wenn der client falsch beendet wird: thomas, das passiert, weil die verbindung nicht geschlossen wird. wenn du den prozess deines clients über den taskmanager schließt passiert das gleiche.
das beste was da abhilfe schafft, ist ein ping. alle 10sek. oder so schickst du allen clients ein ping und wenn die clients den ping erhalten, schicken sie ein pong zurück. bevor du dann den nächsten ping wegschickst, checkst du ob alle clients ein pong gesendet haben, wenn einer dabei ist, der kein pong gesendet hat, schließt du seinen socket und löscht ihn aus der liste, sowas nennt sich auch Timeout habs grad ma mit meinem chatproggi getestet, wenn ich den chatserverprozess beende, bekomme ich den gleichen fehler, da wird man nich viel machen können außer halt, wenn der fehler kommt, die verbindung schließen und wieder neuaufbauen |
Re: Socket Fehler 10051. Aber nur beim "brutalen"
danke für die schnelle Antwort.
Wenn ich eine paket versende wird ein Ping gesendet erst bei Antwort wird ein Pong gesendet dann erst das eigentliche Paket. Nur wird der Client beendet bzw. der Server wird beendet, weis das die Gegenstelle nicht und bringt diesen fehler :( |
Re: Socket Fehler 10051. Aber nur beim "brutalen"
wird der client falsch beendet, kriegt das der server über den nicht erhaltenden pong mit und kann so vorbeugend die verbindung zu diesem client schließen bevor ein socketfehler auftritt, andersrum wirds schwieriger, ich check ma ebend
|
Re: Socket Fehler 10051. Aber nur beim "brutalen"
sooo hab grad ma netzwerkkabel gezogen. der server bekommt die 10053 meldung und kicked daraufhin den benutzer aus der userliste (weil kein pong zurückkomt), der server hat also kein problem damit.
der client bekommt auch nen 10053 fehler und kann dann darauf reagieren, indem er z.B. nach 30sek neu verbindet (also nachdem der timeout des servers abgelaufen ist) |
Re: Socket Fehler 10051. Aber nur beim "brutalen"
Versuche in onerror den 10053 abzufangen. Egal was ich da schreibe, die Meldung kommt dennoch.
|
Re: Socket Fehler 10051. Aber nur beim "brutalen"
Edit: ups überlesen
einfach
Delphi-Quellcode:
fertig :)
ErrorCode:=0;
|
Re: Socket Fehler 10051. Aber nur beim "brutalen"
genau da schreibe ich ErrorCode :=0 dennoch kommt der Fehler..... hmmmmmm
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz