How do I set a timeout for client http connections in node.js

Я пишу приложение node.js, которое должно общаться с сервером. Оно устанавливает http-соединение со следующим кодом:

var client = http.createClient(u.port, u.hostname, u.secure);
client.on("error", function(exception) {
    logger.error("error from client");
});
var request = client.request(method, u.path, headers);

Я не вижу никакой опции в Документация node.js для установки тайм-аута соединения, и он, по-видимому, установлен по умолчанию на 20 секунд. Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть пользователи в Китае, работающие в медленной или нестабильной сети, которые иногда истекло время ожидания соединения с нашим центром обработки данных в США. Я бы хотел увеличить время ожидания до 1 минуты, чтобы посмотреть, исправит ли это их.

Есть ли способ сделать это в node.js?

10
задан Vadim Kotov 23 October 2017 в 13:49
поделиться

1 ответ

Я думаю, вы можете сделать что-то вроде:

request.connection.setTimeout(60000)

request.connection возвращает объект net.Stream, связанный с соединением. а в net.Stream есть метод setTimeout.

4
ответ дан 3 December 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: