2024-05-15 08:52:46 发布
网友
在Linux上使用Python:我有一个TCPSocket服务器,我想在eth0上监听它,没有其他接口。如果eth0没有地址,则套接字根本不应侦听。在
我可以绑定到与eth0关联的IP地址,但是如果该地址更改,我的套接字将不再接收连接。似乎没有简单的方法来接收IP地址更改的通知。在
我可以轮询eth0的IP地址,并在新地址更改时将其绑定到新地址。有没有更好的方法来实现这一点?在
我研究了sobindtoDevice,但这需要root权限。在
似乎你有两个解决方案,正如你所说:
轮询以获取接口的IP地址,当服务器发生变化时重新启动服务器。
使用netlink(man 7 netlink)监听指示您的IP已更改的事件。
通过搜索github上的RTMGRP_IPV4_IFADDR(IPv4地址添加/删除事件),可以找到使用netlink的代码示例。在
似乎你有两个解决方案,正如你所说:
轮询以获取接口的IP地址,当服务器发生变化时重新启动服务器。
使用netlink(man 7 netlink)监听指示您的IP已更改的事件。
通过搜索github上的RTMGRP_IPV4_IFADDR(IPv4地址添加/删除事件),可以找到使用netlink的代码示例。在
相关问题 更多 >
编程相关推荐