1

我正在创建一个 UDP 服务器。我从 MSDN 中找到了以下代码参考。任何人都可以解释为什么他们在代码示例中使用两个 IPEndPoint 对象。我假设第二个 ipeEdpoint 是发件人(客户端)的地址。但怎么可能呢?客户端的IP地址可以从数据报包中提取,那么这里第二个对象的目的是什么?这可能是一个简单而愚蠢的问题,但我有点困惑......:D

  byte[] data = new byte[1024];

  IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);

  UdpClient newsock = new UdpClient(ipep);

  Console.WriteLine("Waiting for a client...");

  IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);

  data = newsock.Receive(ref sender);
4

1 回答 1

2

UdpClient构造函数的调用传入主机端点。UdpClientReceive 开始接收数据的过程——在另一个进程向您在构造函数中创建的端点发出请求之前,它不会做任何事情。当该连接发生时,向您发送数据的进程的端点UdpClient将可用。例如在sender变量中。

于 2012-05-27T20:45:15.693 回答