我正在玩网络服务器,使用 unix 套接字和 sendmsg / recvmsg 将套接字文件描述符传递给新的服务器进程而不会丢失任何请求。在使用 ab 进行测试时,我发现客户端连接会持续存在,并且 apachebench (ab) 会显示错误:“apr_poll: The timeout specified has expired (70007)”。
我怀疑文件描述符的地址发生了变化,这会使打开的连接变得无用,但是确保在每个请求结束时关闭连接并没有什么不同,一些请求会失败。
在套接字级别是否有一些额外的奇怪或者只是很奇怪?还有什么我应该考虑的吗?
编辑:使用 PHP 作为客户端发出请求也会在周期内停止。