c - 在具有两个以太网端口的机器上接收 UDP 广播

标签 c sockets

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

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

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

最佳答案

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

关于c - 在具有两个以太网端口的机器上接收 UDP 广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17709177/

相关文章:

c - 如何使用 C 以编程方式创建 PDF 文件?

c - 如何将指针传递给函数并将值赋给C中指向的变量?

c - Arduino:如何打印出定义常量的值?

c - 编译发布版本后,我的应用程序开始表现得很奇怪

c# - 将十六进制枚举参数从 C# 传递到 C

java - 在 Swing 事件中启动线程

sockets - 从 NodeJS 在 TCP 服务器上实现简单的身份验证

sockets - 如何在 fork 进程中处理套接字连接

Java 套接字 - 自定义对象发送

java - 模拟函数到底有什么作用?