Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi [Winsock] Server liefert nach Neustart immer 10048 (WSAEADDRINUSE) (https://www.delphipraxis.net/153619-%5Bwinsock%5D-server-liefert-nach-neustart-immer-10048-wsaeaddrinuse.html)

Win32.API 10. Aug 2010 11:30

[Winsock] Server liefert nach Neustart immer 10048 (WSAEADDRINUSE)
 
Hallo,

ich stehe gerade vor einem Komischen Problem. Mein, mit Winsock erstellter, Server Socket wird scheinbar nicht richtig/sauber geschlossen.

Ich lasse einen Thread laufen, der einen Server erstellt, auf eine Verbindung wartete und, wenn diese beendet wurde, sich aufräumt. Wird dieser Thread neu erstellt schlägt
Delphi-Quellcode:
 bind()
immer fehl und
Delphi-Quellcode:
WSAGetLastError()
sagt 10048, was darauf hindeutete, das der alte Server Socket noch aktiv ist. (WSAEADDRINUSE)

Aufräumen passiert so:

Delphi-Quellcode:
  shutdown(fSockServer, SD_BOTH);
  closesocket(fSockServer);

Wenn ich zusätzlich noch
Delphi-Quellcode:
WSACleanup()
aufrufe, kann ich den Server zu einem späteren Zeitpunkt ohne Probleme zu wieder starten.


Grüße,
Win32.API


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 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