我想知道在指定 http 客户端超时时使用的不同时间单位的意义是什么。连接超时以毫秒为单位,空闲超时以秒为单位,读取超时以毫秒为单位。
vertx 是否使用不同的精度来确定应该触发超时的精度?
超时是如何触发的?
我正在使用https://vertx.io/docs/apidocs/io/vertx/core/http/HttpClientRequest.html
我想知道在指定 http 客户端超时时使用的不同时间单位的意义是什么。连接超时以毫秒为单位,空闲超时以秒为单位,读取超时以毫秒为单位。
vertx 是否使用不同的精度来确定应该触发超时的精度?
超时是如何触发的?
我正在使用https://vertx.io/docs/apidocs/io/vertx/core/http/HttpClientRequest.html
一般来说,与 Vert.x 无关:
connection timeout
< read timeout
<idle timeout
更具体地说,检查连接是否空闲可能需要几十毫秒。因此,首先允许以毫秒为单位设置此值并不是最佳选择,因为这样可能会出现检查空闲连接的时间大于空闲超时的情况。
HttpClientRequest
只提供一个超时。可能您的问题是关于WebClientOptions
,这确实提供了不同的超时:
https ://vertx.io/docs/apidocs/io/vertx/ext/web/client/WebClientOptions.html
如果您对它的实际使用方式感兴趣,可以查看NetClientImpl
源代码: