c++ - 网络:当接口(interface)打开/关闭时在所有接口(interface)上绑定(bind)一个套接字

标签 c++ sockets networking network-programming bind

我正在创建一个需要在特定端口上监听所有网络接口(interface)的套接字。

我使用 INADDR_ANY 创建它,因此套接字可以正确监听所有本地 IP 地址。

我的问题是:如果新接口(interface)上线会怎样?套接字会自动监听新接口(interface),还是我必须重新绑定(bind)它?

示例:我的套接字已经在监听,我创建了一个 wifi ad-hoc 连接。我是否需要检测是否有可用的新接口(interface)(临时接口(interface)),然后重新绑定(bind)套接字?

(我现在在 Windows 上使用 C++,但代码必须移植到 MacOS)

最佳答案

INADDR_ANY 实际上意味着任何 接口(interface),而不是“所有”接口(interface)。因此,绑定(bind)套接字时接口(interface)是否存在并不重要。

关于c++ - 网络:当接口(interface)打开/关闭时在所有接口(interface)上绑定(bind)一个套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913363/

相关文章:

由 C++ CRTP stack corruption

c++ - 当两个连续输出相同时循环中断

java - 我的 Java 套接字代码正在损坏数据

c - linux usb连接/断开事件

c# - 枚举网络 session

events - TCL类C10K事件服务器开发现状如何?

c++ - FBXSDK,使用四元数设置旋转键?

c++ - 将 unsigned char* 转换为 unsigned char**(不带 &)

python - (Python)得到最大的递归错误,在这种情况下我应该尝试其他方法还是重写它?

c - c 中的简单服务器不起作用