How to properly `close` a node.js server? -
कॉलिंग के अनुसार server.close ()
सर्वर को नए कनेक्शन स्वीकार करने से रोकता है और मौजूदा कनेक्शन को कायम रखा जाता है।
तो मेरा कोड है:
var http = need ('http'); Var server = http.createServer (function (req, res) {console.log ('path:' + req.url); server.getConnections (function (err, count) {console.log ('connections:' + count) ; Res.end ('end'); server.close ();});}); server.listen (3000); Server.on ('close', function () {console.log ('सर्वर बंद'); process.exit (1);});
दो अनुरोध करने के लिए http: // localhost: 3000
:
& gt; पथ: / कनेक्शन: 1 & gt; पथ: / कनेक्शन: 1 & gt; & Gt; नेट। जेएस: 1236 & gt; नया त्रुटि ('चल नहीं') फेंकना; & Gt; ^ त्रुटि: नहीं चल रहा है & gt; पर सर्वर। क्लोज़ (net.js: 1236: 11)
इसका अर्थ है कि दूसरे कनेक्शन को स्वीकार किया जा रहा है, भले ही मैंने पहले server.close ()
।
मुझे क्या याद आ रहा है?
संपादित करें: @ gino9 की टिप्पणी के अनुसार, अगर मैं getConnections
कॉलबैक, समस्या बनी हुई है।
var सर्वर = http.createServer (function (req, res) {console.log ('path:' + req.url); res अंत (नया दिनांक () + ''); server.close ();});
आपने अपने प्रश्न में समाधान पोस्ट किया है।
सर्वर को नए कनेक्शन स्वीकार करने से रोकता है और मौजूदा रखता है कनेक्शन ।
दूसरे शब्दों में, आपके द्वारा खोले गए कनेक्शन खुले हैं जब तक वे समय बाहर नहीं। इसे ए। कहा जाता है।
server.close ();
विधि को कॉल करने के तुरंत बाद अपने सभी कनेक्शन को बंद करने का एक तरीका देखने के लिए देखें। / P>
Comments
Post a Comment