再问:怎样用SetSocketOption函数设置MulticastInterface属性?
本来问题是这样的:
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastInterface, ???);
==========================
后来有位高手告诉我:
int optionValue = (int)IPAddress.HostToNetworkOrder(第几块网卡);
s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastInterface, optionValue );
========================
我有两个网卡,一个是192.168.1.27
另一个是192.168.2.27
========================
试一试这位朋友的方法:
s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastInterface, 0);
果然可以,其中绑定的IP是192.168.1.27。
我想如果要绑定第二个IP(2.27)
只要用SetSocketOption(×,×,1)就行了。
结果跟本不是这么回事,用1做参数总是绑定失败。
为什么啊???
------解决方案--------------------搜索 关键字 比如MulticastInterface