首页 > 解决方案 > 如何检查socket绑定的IP地址是否还存在?

问题描述

我的问题是,一旦我打电话socket()bind()(有一些特定的 IP 地址,不是INADDR_ANY);listen(),似乎无法确定我绑定套接字的IP地址是否仍然存在于系统中。

我研究使用的内容:

但是上面的设施似乎根本没有对 IP 地址消失和/或接口状态的变化做出反应。

我没有测试,但看起来有问题:

为了更清楚,我真正想要的是一些类似于 的事件 RDMA_CM_EVENT_DEVICE_REMOVAL,但使用AF_INET套接字,当我应该放弃监听套接字时会通知我,因为它不再绑定到接口,或者(这将是完美的)所有此类接口都已关闭。但很可能后一个愿望是不可能实现的,因为bind()如果提供IP地址的唯一接口关闭,即使是顺利完成。

标签: clinuxsocketsnetworking

解决方案


推荐阅读