Thin的代码/文档建议默认连接超时为30s。但是,当我尝试对此进行测试时,它似乎不起作用。我错过了什么?
我正在使用瘦v1.5.0(最新版本)。
# Test this using: curl -X GET http://localhost:3000/test. You will find that the request does not
# timeout after 30s.
require 'thin'
class SimpleAdapter
def call(env)
sleep 100
body = ["hello!"]
[
200,
{ 'Content-Type' => 'text/plain' },
body
]
end
end
server = Thin::Server.new('127.0.0.1', 3000) do
map '/test' do
run SimpleAdapter.new
end
end
server.start!
内联文档声明如下:
在断开连接之前传入数据到达的最大秒数。
Thin正确显示该行为,也就是说,如果您远程登录到服务器:
telnet localhost 3000
并等待 30 秒,它会断开连接。但是,cURL 命令已经向瘦服务器发送了完整的 HTTP 请求,这就是等待传入数据的超时从未达到的原因。