我正在尝试在使用http.request且没有运气的HTTP客户端上设置超时。到目前为止,我所做的是:
var options = { ... }
var req = http.request(options, function(res) {
// Usual stuff: on(data), on(end), chunks, etc...
}
/* This does not work TOO MUCH... sometimes the socket is not ready (undefined) expecially on rapid sequences of requests */
req.socket.setTimeout(myTimeout);
req.socket.on('timeout', function() {
req.abort();
});
req.write('something');
req.end();
有什么提示吗?
现在可以使用timeout
option和相应的request事件:
// set the desired timeout in options
const options = {
//...
timeout: 3000,
};
// create a request
const request = http.request(options, response => {
// your callback here
});
// use its "timeout" event to abort the request
request.on('timeout', () => {
request.abort();
});
我在我的项目中设置了一个RestTemplate和一个AsyncRestTemplate,如下所示: 我注意到连接超时实际上并不起作用,除非我将httpRequestFactory()bean更改为如下所示: 如果我将DEFAULT_READ_TIMEOUT_MILLISECONDS设置为5,则当我使用restTemplate时会发生超时(正如预期的那样)。但是,当我使用AsyncRestTemp
问题内容: 如何在使用套接字连接创建的BufferedReader和PrintWriter上设置超时?这是我现在为服务器提供的代码,该代码将一直工作到服务器或客户端崩溃为止: 在此代码范围之外,我施加了1000ms的套接字超时,它在等待初始连接时按预期工作。但是该程序在(str = br.readLine())处阻塞。如果客户端挂起或崩溃,则除非我终止该进程,否则它永远不会停止阻塞(即使那样也并不
问题内容: 我org.springframework.ws.client.core.WebServiceTemplate用于拨打Web服务。如何为通话配置超时。 问题答案: 如果你使用的是Spring Webservices 2.1.0版本,则可以使用HttpComponentsMessageSender设置超时。 Spring不推荐使用CommonsHttpMessageSender,因此不再推
我正在尝试在我的WebClient上设置超时,以下是当前代码: 我需要添加超时和池策略,我在想这样的事情: 但是我不知道如何在我的webclient中设置httpClient
我有一些可能需要一段时间才能执行的REST API,我想限制它们的执行持续时间。优选地,如果30秒过去了并且请求没有返回,我希望返回特定的HTTP代码/数据并完全终止该请求。 当前代码:
如果数据不是很大,这是可行的。(例如,最大5 MB) 但如果数据很大,则在10秒后出现超时错误。 是否存在修改该类中默认超时的方法?