TCP Socket/Listener beenden

JJB

Cogito ergo brumm
Tach auch !

Ich hab da mal ne Frage.
Wenn ich einen TCP Listener starte mit:

Code:
itsTcpListener = new TcpListener(IPAddress.Any, itsPort);
itsTcpListener.Start();
itsSocket = itsTcpListener.AcceptSocket();

Wie kann ich seinen Wartezustand dann beenden, ohne einen Fehler zu erzeugen ?

Mit itsSocket.Close() und itsTcpListener.Stop() entsteht dieser Fehler:

Code:
Exception: System.Net.Sockets.SocketException
Message: Ein Blockierungsvorgang wurde durch einen Aufruf von WSACancelBlockingCall unterbrochen
Source: System
   at System.Net.Sockets.Socket.Accept()
   at System.Net.Sockets.TcpListener.AcceptSocket()
   at MyNameSpace.MyClass.StartServerThread() in c:\home\MyNameSpace\MyClass.cs:line 244

Wie kann ich den Wartezustand sonst beenden ?

Bin für jede Hilfe dankbar.

MFG JJB
 
Tach !

Ich dachte, es gäbe vielleicht eine Möglichkeit, dem Listener einfach zu sagen "Is gut, du kannst aufhören!".
Eine Exception kommt meist wie ein Fehler rüber und stört oft das Auge sensibler Betrachter (mein Chef). In dem Fall ist es ja eine beabsichtigte Handlung. Vielleicht findet sich hier nochmal was.

:offtopic:
Hast du vielleicht einen Tip zu meiner anderen Frage ? (280635 tcp-client-mit-streamreader-beenden)
Da steh ich grad wirklich auf dem Schlauch. Ich überleg grad ob ich da etwas aufwendigeres draus mache um es zu lösen.

Danke fürs reinschauen !
 

Neue Beiträge

Zurück