选择 SendTo 用于传输多播帧的适配器
我有一个 C# .net 3.5 应用程序,其中使用 System.Net.Sockets.Socket.SendTo() 来将 UDP 帧发送到多播地址 224.0.100.1 。然后,我在同一个套接字上使用 BeginReceiveFrom()
来侦听所有响应。
但是,在有多个网络适配器的系统上,UDP 数据包在哪个适配器上发送似乎是随机的。
如何允许用户选择要使用的适配器并强制 SendTo()
使用该地址?
谢谢, 保罗·H
I have a C# .net 3.5 application where I use System.Net.Sockets.Socket.SendTo()
to send a UDP frame to the multicast address 224.0.100.1
. I then use BeginReceiveFrom()
on the same socket to listen for all the responses.
But, on systems where there is more than one network adapter, it seems to be random on which adapter the UDP packet is sent.
How can I allow the user the option to select the adapter that will be used and force SendTo()
to use that address?
Thanks,
PaulH
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在发送之前使用 Socket.Bind() 设置本地端点。
Use
Socket.Bind()
to set the local endpoint before sending.