Si le serveur ne répond pas dans le délai spécifié (peut-être qu'il y a un problème avec la connexion réseau, ou cela peut être dû au fait que le serveur fonctionne mal ou que le pare-feu réseau bloque le client à partir de la connexion entre le serveur), le délai d'expiration de la réponse et l'événement de délai d'expiration de l'objet HTTP.serverResponse sont déclenchés.
réponse.setTimeout (time, [rappel]);
Vous ne pouvez pas non plus spécifier la fonction de rappel dans setTimeout, vous pouvez utiliser la méthode de surveillance du temps pour spécifier la fonction de rappel.
S'il n'y a pas de fonction de rappel de délai d'expiration spécifiée, si le délai d'expiration se produit, le port de socket connecté au client HTTP sera automatiquement fermé. Si la fonction de rappel de temps mort spécifié, la fonction de rappel sera appelée et que le port de socket connecté au client HTTP sera automatiquement fermé.
La copie de code est la suivante:
var http = require ("http");
var server = http.createServer (fonction (req, res) {
if (req.url! == "/ favicon.ico") {
// Surveillance du délai d'expiration
/*res.setTimeout(1000);
res.on ("timeout", function () {
Console.log ("Réponse Timeout.");
}); * /
// rappel de temps mort
res.setTimeout (1000, function () {
Console.log ("Réponse Timeout.");
});
setTimeout (function () {
res.sethEader ("contenu-type", "text / html");
res.write ("<html> <éad- head> <meta charset = 'utf-8' /> </ head>");
res.write ("bonjour");
res.end ();
}, 2000);
}
});
server.Listen (1337, "localhost", function () {
console.log ("commencer à écouter" + server.address (). port + "...");
});
Exécuter les résultats du code:
Après avoir supprimé la fonction de rappel de temps mort: