Wenn der Server nicht innerhalb der angegebenen Zeit reagiert (möglicherweise gibt es ein Problem mit der Netzwerkverbindung, oder es kann daran liegen, dass der Server fehlerhaft ist oder das Netzwerk -Firewall den Client aus der Verbindung zwischen dem Server blockiert), wird das Zeitlimit der Antwort und das Zeitlimit -Ereignis des HTTP.ServerResponse -Objekts ausgelöst.
response.settimeout (Zeit, [Rückruf]);
Sie können die Rückruffunktion auch nicht in SetTimeOut angeben. Sie können die Zeitüberwachungsmethode verwenden, um die Rückruffunktion anzugeben.
Wenn keine Timeout -Rückruffunktion angegeben ist, wird der mit dem HTTP -Client angeschlossene Socket -Port automatisch geschlossen. Wenn die Timeout -Rückruffunktion angegeben ist, wird die Rückruffunktion aufgerufen und der mit dem HTTP -Client verbundene Socket -Port wird automatisch geschlossen.
Die Codekopie lautet wie folgt:
var http = required ("http");
var server = http.createServer (Funktion (req, res) {
if (req.url! == "/favicon.ico") {
// Zeitüberschreitungsüberwachung
/*res.settimeout(1000);
res.on ("timeout", function () {
console.log ("Reaktionszeitüberschreitung");
});*/
// Timeout -Rückruf
res.settimeout (1000, function () {
console.log ("Reaktionszeitüberschreitung");
});
setTimeout (function () {
res.setheader ("Inhaltstyp", "Text/HTML");
res.write ("<html> <kopf> <meta charset = 'utf-8' /> < /head>");
Res.Write ("Hallo");
res.end ();
}, 2000);
}
});
server.Listen (1337, "localhost", function () {
console.log ("Hörstart"+server.address (). port+"...");
});
Code -Ergebnisse ausführen:
Nach dem Löschen der Timeout -Rückruffunktion: