Я пишу приложение 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?
Я думаю, вы можете сделать что-то вроде:
request.connection.setTimeout(60000)
request.connection возвращает объект net.Stream, связанный с соединением. а в net.Stream есть метод setTimeout.