Si el servidor no responde dentro del tiempo especificado (tal vez hay un problema con la conexión de red, o puede deberse a que el servidor está mal funcionando o el firewall de red bloquea el cliente desde la conexión entre el servidor), el tiempo de espera de respuesta y el evento de tiempo de espera del objeto HTTP.ServerResponse se activa.
respuesta.setTimeOut (tiempo, [devolución de llamada]);
Tampoco puede especificar la función de devolución de llamada en SetTimeout, puede usar el método de monitoreo de tiempo para especificar la función de devolución de llamada.
Si no se especifica la función de devolución de llamada de tiempo de espera, si se produce el tiempo de espera, el puerto de socket conectado al cliente HTTP se cerrará automáticamente. Si se especifica la función de devolución de llamada de Tiempo de espera, se llamará a la función de devolución de llamada y el puerto de socket conectado al cliente HTTP se cerrará automáticamente.
La copia del código es la siguiente:
var http = require ("http");
var server = http.createServer (function (req, res) {
if (req.url! == "/favicon.ico") {
// monitoreo de tiempo de espera
/*res.setTimeout(1000);
res.on ("Tiempo de tiempo", function () {
console.log ("Tiempo de tiempo de respuesta");
});*/
// devolución de llamada de tiempo de espera
res.setTimeout (1000, function () {
console.log ("Tiempo de tiempo de respuesta");
});
setTimeOut (function () {
res.setheader ("Content-type", "texto/html");
res.write ("<html> <fead> <meta charset = 'utf-8' /> < /head>");
res.write ("hola");
res.end ();
}, 2000);
}
});
server.listen (1337, "localhost", function () {
console.log ("iniciar escucha"+server.address (). Port+"...");
});
Ejecutar resultados del código:
Después de eliminar la función de devolución de llamada de tiempo de espera: