日期:2014-05-19  浏览次数:20781 次

再问:怎样用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