Hier ist mein Code:Socket.Close() beendet Socket.Accept() nicht!
using System;
using System.Net;
using System.Net.Sockets;
public static void main()
{
Socket _SocketTCP = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_SocketTCP.Bind(new IPEndPoint(IPAddress.Any, 1234));
_SocketTCP.Listen(5);
while (true)
{
Socket socket;
try
{
socket = _SocketTCP.Accept();
}
catch (ObjectDisposedException)
{
break;
}
Console.WriteLine("A Client Connected");
}
Console.WriteLine("Server Closed");
}
In einem anderen Thread ich _SocketTCP.Close();
nennen. Die while-Schleife wird jedoch nie beendet und "Server geschlossen" wird nie gedruckt, nachdem ich die Methode _SocketTCP.Close();
aufgerufen habe. Was mache ich falsch ??
Bitte erstellen Sie ausführbaren Repro-Code. Normalerweise funktioniert das ... denke ich. – usr