我在我的计算机上使用了几个虚拟 IP,然后我收到一条消息,我需要知道我在哪个 Ip 上收到了消息。
我使用了 ReceiveMessageFrom,在我添加选择之前效果很好。选择后收到的信息无效
我的代码:
IPEndPoint ipep2 = new IPEndPoint(IPAddress.Any , xxx);
Socket socket2 = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
socket2.Bind(ipep2);
ArrayList copySocketsList = new ArrayList();
copySocketsList.Add(socket2);
Socket.Select(copySocketsList , null , null , 1000);
foreach(Socket soc in copySocketsList)
{
int recv = soc.ReceiveMessageFrom(data , 0 , 1024 , ref flags , ref Remote , out ipInfo);
}
在该示例中, ipInfo 无效,但如果我们删除选择它会很好