套接字超时发生时? (UNIX)

时间:2016-09-22 22:08:55

标签: linux sockets unix timeout

当我连接到Unix命名套接字时,我可以在哪些条件下收到ETIMEDOUT?

如果服务器在N秒内没有接受(),那么Linux上的典型N是什么?

1 个答案:

答案 0 :(得分:1)

如果服务器的操作系统在N秒内未接受连接,则会发生这种情况。调用accept()的服务器应用程序通常不相关,因为操作系统会自动执行3次握手,无论应用程序是否调用accept(); TCP堆栈将挂起的连接排队,直到应用程序执行此操作(最多为积压限制)。

通常,只有在服务器物理关闭或网络出现通信错误时才会发生此超时。

我认为Linux上的默认值是20秒。