C# UDP同步获取消息

 

 1  private void Listening(int port, CancellationTokenSource cts)
 2         {
 3             cts.Token.ThrowIfCancellationRequested();
 4 
 5             Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
 6             server.ReceiveBufferSize = UInt16.MaxValue * 8;
 7             server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
 8             IPAddress ip = IPAddress.Any;
 9             server.Bind(new IPEndPoint(ip, port));
10 
11             Console.WriteLine("------ReceiveMessage--");
12             while (true)
13             {
14                 if (cts.IsCancellationRequested)
15                 {
16                     cts.Token.ThrowIfCancellationRequested();
17                 }
18                 byte[] data = new byte[1024 * 8];
19                 EndPoint endPoint = new IPEndPoint(IPAddress.Any, 0);
20                 int count = server.ReceiveFrom(data, ref endPoint);
21                 if (count > 0)
22                 {
23                     string message = Encoding.UTF8.GetString(data);
24                     Console.WriteLine(message);
25                 }
26             }
27         }

 

上一篇:UDP之多播/组播


下一篇:TCP/IP的一些面试问题