Я писал свой собственный статический http-сервер, используя net модуль от Node.js. Вот мой код:Использование http.request генерирует ошибку
var options = {
hostname: 'localhost',
port: 8000,
path: '/read.txt',
httpVersion : 1.1,
method: 'GET',
headers:{
'Content-Type':'text/plain',
'connection' : 'keep-alive'
}
};
function test(){
var sev = server.start(8000,"./folder",function(e){
e?(console.log(e)):(console.log("server is connected in port 8888"));
});
var req = http.request(options, function(res) {});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
server.stop(sev,function(e){e?(console.log(e)):(console.log("server is closed"));})
}
test()
Вот функция остановка от сервера модуля:
exports.stop = function(serverID,callback){
serverID.close();
callback();
}
Но когда я запускаю его он показывает сообщение: проблема с запросом: подключите ECONNREFUSED. Я не могу найти проблему. Возможно ли, что проблема связана с версией узла?
Похоже, 'server.stop' работает, прежде чем 'server.start' имел шанс закончить (или '' http.request', прежде чем заканчивается server.start'). Ваш метод 'test' запускает вещи без возможности дать каждому финишу. – Joe