我正在创建一个UDP服务器。我发现以下来自MSDN的代码参考。任何人都可以解释为什么他们在代码示例中使用两个IPEndPoint对象。我假设第二个ipeEdpoint是发送者(客户端)的地址。但是怎么可能呢?客户端的IP地址可以从Data gram包中提取出来,那么第二个对象的目的是什么呢?这可能是一个简单而愚蠢的问题,但我有点困惑......: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);
答案 0 :(得分:2)
对UdpClient
构造函数的调用将在主机端点传递。接收开始接收数据的过程 - 在另一个进程向您在UdpClient
构造函数中创建的端点发出请求之前,该过程将不会执行任何操作。当该连接发生时,将向您的UdpClient
发送数据的进程的端点将可用。例如在sender
变量中。