Ich schreibe eine node.js-Anwendung, die mit einem Server kommunizieren muss. Es stellt eine HTTP-Verbindung mit dem folgenden Code her:
%Vor%Ich sehe in der Dokumentation von node.js keine Option zum Festlegen eines Zeitlimits für die Verbindung, und es scheint standardmäßig auf 20 Sekunden eingestellt zu sein. Das Problem, das ich habe, ist, dass ich in China Nutzer habe, die ein langsames oder flockiges Netzwerk zu sein scheinen, die manchmal die Timeout-Verbindung zu unserem Rechenzentrum in den USA getroffen haben. Ich möchte das Timeout auf 1 Minute erhöhen, um zu sehen, ob es das für sie behebt.
Gibt es eine Möglichkeit, das in node.js zu tun?
Versuchen Sie
request.socket.setTimeout (60000); // 60 Sekunden
Es gibt keine Möglichkeit, das Zeitlimit für den Knoten auf erhöhen zu erhöhen. Da in der Regel Verbindung Timeout (dh Verbindungsaufbau Timeout) ist OS-weite Einstellung für alle Anwendungen (zB 21 Sekunden in Windows , von 20 bis 120 Sekunden in Linux ). Siehe auch Timouts in Request-Paket .
Im Gegensatz dazu erlaubt Node, eine verringerte Zeitüberschreitung zu setzen und die Verbindung abzubrechen, selbst wenn die Verbindung noch nicht hergestellt ist.
Die weiteren Timeouts (falls eine Verbindung hergestellt wurde) können gemäß der Dokumentation gesteuert werden (siehe request.setTimeout
, socket.setTimeout
).
Tags und Links node.js