111,097
社区成员




static void Receive(object state)
{
Socket socket = state as Socket;
EndPoint otherEnd = new IPEndPoint(IPAddress.Any, 0);
byte[] buffer = new byte[6400];
try
{
socket.ReceiveFrom(buffer, ref otherEnd);
}
catch (SocketException se)
{
Console.WriteLine(se.Message);
}
}
static void Main()
{
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.Bind(new IPEndPoint(IPAddress.Any, 12345));
ThreadPool.QueueUserWorkItem(Receive, socket);
Thread.Sleep(2 * 1000);
socket.Shutdown(SocketShutdown.Both);
socket.Close(); //<---
Console.WriteLine("socket closed");
Console.ReadLine();
}