【发布时间】:2015-11-04 23:11:56
【问题描述】:
最近,我将以前使用 TCP/IP 的程序更改为 UDP 多播,因为它使用的资源少得多。
我遇到的问题是,在我计划使用它的少数机器上,有两个或多个网卡正在运行连接。
我可以从程序级别选择在哪个连接上进行多播吗?我尝试更改系统中的不同设置,例如网络优先级,但没有任何效果。
对于多播我使用:
UdpClient publisher = new UdpClient(IP, Port);
publisher.Send(data, data.Length);
其中 IP 是多播范围中的一个(主要是 230.X.X.X)。
在 TCP/IP 之前的情况下,我可以在特定网卡的 IP 上指定入口点,但在这里似乎是不可能的,因为我需要在多播地址而不是在多播地址上发送数据包我的机器是我的。
提前感谢您的帮助。
【问题讨论】:
-
使用端点:IPAddress ip = IPAddress.Parse("192.168.1.28"); IPEndPoint ep = new IPEndPoint(ip, Port); UdpClient 发布者 = 新 UdpClient(ep);然后绑定如下网页所示:msdn.microsoft.com/en-us/library/ekd1t784(v=vs.110).aspx