如果附加的以太网接口离开网络,accept函数是否返回错误(-1)?如果不是,应用程序(TCP服务器)将如何知道其接口不再处于活动状态?
我使用一个线程接受连接而不使用任何"选择"这样做的语句。直接调用accept()函数,但如果我从以太网接口删除IP地址,它不会重新调整错误。
使用C和工作环境是linux。
答案 0 :(得分:0)
通常,您不会将服务器套接字绑定到特定的IP地址(使用INADDR_ANY)。因此,即使您删除了以太网IP地址,仍然可以使用环回接口联系您的服务器。或者其他一些带有IP地址的接口。
如果您想确保您的服务器可以通过网络访问,那么检查接口状态并不会让您受到太多影响。它只是通过网络的长路径上的单跳。您需要在其他地方使用测试客户端来检查服务器的可访问性。