Maison >interface Web >js tutoriel >explication détaillée du délai d'expiration de node.js_node.js

explication détaillée du délai d'expiration de node.js_node.js

WBOY
WBOYoriginal
2016-05-16 16:30:101727parcourir

Si le serveur ne répond pas dans le délai imparti (il peut s'agir d'un problème de connexion entre les réseaux, ou d'une panne du serveur ou du pare-feu du réseau qui bloque la connexion entre le client et le serveur), le la réponse expire et http est déclenché en même temps. L'événement timeout de l'objet ServerResponse.

response.setTimeout(time,[callback]);

Vous pouvez également ne pas spécifier la fonction de rappel dans setTimeout. Vous pouvez utiliser la surveillance du temps pour spécifier la fonction de rappel.

Si une fonction de rappel de délai d'attente n'est pas spécifiée, alors un délai d'attente se produit, le port socket connecté au client http sera automatiquement fermé. Si une fonction de rappel de délai d'attente est spécifiée, alors une fonction de rappel sera appelée à la place d'un délai d'attente. Le port socket connecté au client http sera automatiquement fermé.

Copier le code Le code est le suivant :

var http=require("http");
var serveur=http.createServer(function(req,res){
Si(req.url!=="/favicon.ico"){
//Surveillance des délais d'attente
​​​​/*res.setTimeout(1000);
         res.on("timeout",function(){
console.log("Délai de réponse.");
         });*/
// Rappel direct en cas d'expiration
          res.setTimeout(1000,function(){
console.log("Délai de réponse.");
});
setTimeout(function(){
              res.setHeader("Content-Type", "text/html");
res.write("");
                res.write("Bonjour");
               res.end();
         },2000);
>
});
serveur.écouter(1337,"localhost",function(){
console.log("Démarrer la surveillance" server.address().port "...");
});

Résultat de l'exécution du code :

Après avoir supprimé la fonction de rappel du délai d'attente :

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn