1

一台机器有两个以太网端口,并使用它们连接到网络(用于冗余)。另一台机器周期性地在整个网络上发送 UDP 广播。

我需要检测我通过哪个以太网端口接收到广播。我需要知道这一点,因为如果一个以太网端口(线路)发生故障,我需要标记无效端口。

目前我正在使用 recvfrom() 套接字函数接收 UDP 广播,但我不知道如何判断实际接收到的 UDP 数据包是通过哪个以太网端口。

4

1 回答 1

3

我从来没有在纯 C 语言中这样做过,但是您应该能够在调用 recvfrom 之前将您的套接字绑定到特定的适配器,因此您将在这里有两个 UDP 侦听器 - 每个适配器一个。

于 2013-07-17T21:44:41.977 回答