我有一个用于发送和接收多播数据包的数据报套接字。使用时,它会在物理设备上的所有适配器上发送和接收数据。有没有办法指定使用哪个适配器而不是全部使用它们?
如果我绑定
await _datagramSocket.BindServiceNameAsync(ServicePort);
然后使用所有适配器。如果我绑定
await _datagramSocket.BindEndpointAsync(new HostName(AdapterHostname), ServicePort);
然后它抛出以下错误:“每个套接字地址(协议/网络地址/端口)通常只允许使用一次。(来自 HRESULT 的异常:0x80072740)”