Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

[MSVC++; MSVS08; Windows XP] Verhalten von Windows Sockets bei Abbruch

Hi,
folgendes Problem:
Ich habe 2 Anwendungen, jeweils mit Winsocks2 und Client/Server Funktionalität (Also sowohl Listener, als auch Sockets die Verbunden werden).

Basis: CAsyncSocket
Anwendung 1: A1
Anwendung 2: A2

Nun habe ich folgendes verhalten beobachtet:
A1 verbindet sich als Client zu A2. Informationen werden korrekt ausgetauscht und entsprechend abgearbeitet. A1 schließt die Verbindung zu A2 nicht korrekt, allerdings wird bei Zerstörung des, den Verbindungssocket beinhaltenden, Objektes in A1 logischerweise der Socket gekillt. Die API sendet völlig richtig ein RST Signal, das von A2 auch korrekt erhalten wird. Nun baue ich eine neue Verbindung (Neues Objekt, neues Socketobjekt im Objekt, ...) zu A2 auf, hier wurde "OnClose()" korrekt durchlaufen und entsprechend aufgeräumt, nun kommt die neue Verbindungsanfrage an und wird auch angenommen. Von nun dauert es eine undefinierte Zeit bis A2 sich in einer Endlosschleife verheddert.

Hat jemand dieses Verhalten auch beobachtet und kann mir mehr zu den Hintergründen verraten? Ich steig da gerade noch nicht so ganz durch. Das zusätzlich verwirrende ist: Dieses Verhalten tritt _nicht_ auf, wenn ich Haltepunkte setze, bzw. den Debuglauf unterbreche und von Hand "Schritt für Schritt" abarbeite.
Die Aufrufliste nennt mir NTKERNEL als Einstiegspunkt, hier hab ich jeweils nur Assemblercode und versuche es natürlich zu vermeiden daraus "entsprechenden Hochsprachencode" zu erstellen, den ich auf die schnelle lesen kann.

Die Endlosschleife bewegt sich zwisch MSWSOCKS und NTKERNEL.

Erfahrungen eurerseits?
Erklärungen?
Was hab ich übersehen?

Zu guter letzt: Ich weiss, dass der Auslöser ein Programmierfehler ist. Dieser wurde selbstredend entsprechend beseitigt, sobald ich ihn gefunden hatte. Nichtsdestotrotz versuche ich den Hintergrund der Endlosschleife zu verstehen.
 

« java.exe -Aufruf über Proton - Fenster schließt sich sofort wiederC# auf ein .bat verweisen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Client Server Netzwerk
Bei einem Client-Server-Netzwerk, beziehungsweise Client-Server-Modell, handelt es sich um eine Möglichkeit, Aufgaben und Dienstleistungen innerhalb eines Netzwerkes...

ID3 Informationen
Die ID3 Informationen sind Textinformationen, die in einer mp3 Datei mitgespeichert werden können. ID3-Tags ermöglichen es, Metadaten wie Titel, Künstler, ...

Zugriffszeit
In Milisekunden angegebene Zeit, die das Speichermedium zum Erreichen der gesuchten Daten braucht. Die Zeit ist abhängig vom technischen Verfahren des Mediums sowie ...