我正在创建一个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);
最佳答案
对UdpClient
构造函数的调用将传递到主机端点。接收开始接收数据的过程-在其他过程向您在UdpClient
构造函数中创建的终点发出请求之前,它不会做任何事情。当确实发生这种连接时,将数据发送到UdpClient
的过程的端点将可用。例如在sender
变量中。
关于c# - 为什么要使用两个IPEndPoint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10776339/