2012-05-29 13 views
6

समस्या: यदि मैं एक्सप्रेस ['स्थिर'] रेखा पर टिप्पणी करता हूं, तो कोड पूरी तरह से चलता है। अगर मैं इसे शामिल करता हूं (या ऑर्डर बदलता हूं), ऐप जवाब देने से पहले थोड़ी देर तक लटकता है।नोडजेज एक्सप्रेस स्थैतिक फाइलों के साथ लटकते हैं

पुन: करने के लिए: भागो एप्लिकेशन, एक ब्राउज़र को लोड और 127.0.0.1:51783 के लिए जाने के पेज को रिफ्रेश लगातार (या कर्ल का उपयोग करें), सांत्वना आप एक निर्गम के समान दे देंगे:

GET/1 ms 

तब, जब में टाइमआउट किक और 15 अनुरोध भेजा जाता है, सर्वर निष्क्रिय हो जाता है और आपको निम्न मिलता है:

Server Now Unresponsive but requests queued 
GET/35549 ms 

app.js

var http = require('http'); 
var express = require('express'); 
var app = express.createServer(); 
app.use(express.logger({ format: '\x1b[1m:method\x1b[0m \x1b[33m:url\x1b[0m :response-time ms' })); 
app.use(express.bodyParser()); 
app.use(express['static'](__dirname + '/')); //Comment me and all works perfectly! 
app.listen(51783); 
http.globalAgent.maxSockets = 500; //doesn't help 
setTimeout(function(){ 
    console.log('Server Now Unresponsive but requests queued'); 
    [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].forEach(function(item){ 
    http.request({host:'http://cnn.com', port:80, path:'/null', method:'GET'}, function(res){ 
    }).on('error', function(e){}); 
    }); 

},5000); 
+0

मुझे एक ही समस्या है। मुझे लगता है कि यह मिडलवेयर के एक अलग टुकड़े से आ रहा था, लेकिन अब इसे कनेक्ट करने के लिए अलग कर दिया गया है। चिलबो के अंत में आप को हल करने के लिए कोई भाग्य है? –

+0

हमें यह समस्या भी है। –

उत्तर

-2

वहाँ कुछ है कि http अनुरोध के बारे में बहुत सही नहीं है। मैं इस तरह की चीज़ के लिए request मॉड्यूल का उपयोग करने की सलाह देता हूं। किसी भी तरह से यह काम करता है:

var http = require('http'); 
var express = require('express'); 
var app = express.createServer(); 

app.configure(function(){ 
    app.use(express.logger({ format: '\x1b[1m:method\x1b[0m \x1b[33m:url\x1b[0m :response-time ms' })); 
    app.use(express.bodyParser()); 
    app.use(express['static'](__dirname + '/public')); //Comment me and all works perfectly! 
}) 

app.listen(51783); 
var request = require('request'); 


setTimeout(function(){ 
    console.log('Server Now Unresponsive but requests queued'); 
    [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].forEach(function(item){ 
    request('http://www.google.com', function (error, response, body) { 
     console.log("request number "+item+" received") 
    }) 
    }); 
},5000); 
+0

यह उत्तर समस्या का जवाब नहीं देता है। –

+1

यह थोड़े करता है। मैं यहां आया क्योंकि मुझे express.static, http-proxy और http.request के साथ समस्या हो रही थी। Http.request से अनुरोध पुस्तकालय में स्विच करने से समस्या हल हो गई। – sheldonh