我有Tcp服务器。我使用linux c api socket(
),bind()
,listen()
,select()
,accept()
等待客户端连接。
当我拉动并插入网络电缆时,选择没有错误返回,它通常可以等待客户端连接等等。
当我更改我的IP地址时使用
ifconfig eth0 xxx.xxx.xxx.xx netmask 255.255.255.0
(在同一段),select没有错误返回,然后客户端使用这个新的ip连接我的服务器,它也是成功的
何时应该重新启动服务器?
ps:bind()
使用INADDR_ANY
答案 0 :(得分:1)
侦听套接字在关闭前保持有效。只要绑定到INADDR_ANY,
,任何人都可以连接到它。
但是如果你将它绑定到一个特定的IP地址并且该IP地址消失了,那么没有人能够连接到套接字:但是套接字本身仍然有效,并且不会报告任何会导致你得出结论的错误条件除此以外。解决方案:不要。