首页 文章

如果TCP服务器退出网络,则接受函数返回错误(-1)

提问于
浏览
1

如果连接的以太网接口脱离网络,accept函数是否返回错误(-1)?如果不是,应用程序(TCP服务器)将如何知道其接口不再处于活动状态?

我使用一个线程来接受连接而不使用任何“select”语句来执行此操作 . 直接调用accept()函数,但如果我从以太网接口删除IP地址,它不会重新调整错误 .

使用C和工作环境是linux .

1 回答

  • 0

    通常,您不会将服务器套接字绑定到特定的IP地址(使用INADDR_ANY) . 因此,即使您删除了以太网IP地址,您仍然可以使用环回接口联系您的服务器 . 或者其他一些带有IP地址的接口 .

    如果要确保可以从网络访问服务器,检查接口状态对您没有多大帮助 . 它只是通过网络的长路径上的单跳 . 您需要在其他地方使用测试客户端来检查服务器的可访问性 .

相关问题