【发布时间】:2017-05-08 22:16:40
【问题描述】:
主题。奇怪的是,我在 Windows 或 POSIX 的套接字参考文档中找不到这个。
出于问题的目的,我说的是影响套接字 API 调用的任何超时,即控制 API 调用返回错误的时间的任何值。像 TIME_WAIT 这样被排除,因为它只影响系统状态而不是程序的控制流。这个问题的灵感来自kill socket.accept() call on closed unix socket,OP 声称accept 会永远等待——我不相信。
-
AFAICS,有两个:用于接收和发送,不仅影响
send/recv,还影响所有涉及接收或发送的API,如accept。
更具体地说:
- 是某些规范强制要求还是完全取决于操作系统供应商?
- 主要操作系统的默认值是什么1?至少,数量级。
- 如果在系统范围内可配置,它们存储在哪里(如果有很多可能性 - 来自内核/库存库的 POV)?
1例如Windows、Debian、Red Hat、FreeBSD、Mac OS X、Android。
【问题讨论】:
标签: sockets language-agnostic timeout