我正在编写一个简单的HTTP服务器并学习时间等待。在繁重的环境中,真正的web服务器如何处理来自数千个用户的请求,而不让所有的套接字在请求被处理后被阻塞?(不要问keep alive——这对一个客户会有帮助,但对成千上万个不同的客户来说却没有帮助)。
我已经读到您尝试让客户机先关闭,这样所有的等待时间就分散在所有客户机之间,而不是集中在服务器上。
这是怎么做到的?在某些时候,服务器必须调用close/closesocket。
发起主动关闭的对等方是进入TIME\u WAIT的对等方。因此,只要客户端关闭连接,客户端就会得到等待的时间,而不是服务器。我会更详细地讨论这一切 in this blog posting