2012-02-15 2 views
0

Так загрузить Windows, исполняемые файлы с сайта узла и установлена ​​на моем компьютере Windows 7, который установлен в порядке, когда я делаю:Node.js - Страница продолжает работать

node --version 

Он правильно показывает свою версию: v0.6.7

Вот привет мир программа:

// app.js 
var http = require('http'); 

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(8000, "127.0.0.1"); 

console.log('Server running at http://127.0.0.1:8000/'); 

И когда я делаю:

node app.js 

Я получаю ответ штраф:

Server running at http://127.0.0.1:8000/ 

Однако, когда я браузер по URL http://127.0.0.1:8000, страница продолжает работать (в строке состояния он говорит waiting for 127.0.0.1...).

Может ли кто-нибудь помочь мне, как это сделать на выходе Hello World?

+0

Я бы попробовал использовать Fiddler, чтобы увидеть, что он говорит ... –

ответ

1

Это то, что я получаю с завитком:

$ curl -vv localhost:8000 

* About to connect() to localhost port 8000 (#0) 
* Trying ::1... Connection refused 
* Trying 127.0.0.1... connected 
* Connected to localhost (127.0.0.1) port 8000 (#0) 
> GET/HTTP/1.1 
> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5 
> Host: localhost:8000 
> Accept: */* 
> 
< HTTP/1.1 200 OK 
< Content-Type: text/plain 
< Connection: keep-alive 
< Transfer-Encoding: chunked 
< 
Hello World 
* Connection #0 to host localhost left intact 
* Closing connection #0 

ничего плохого с ним. Попробуйте обновить узел до последней стабильной версии (но я не вижу, как это может помочь), и убедитесь, что любой процесс, кроме узла, имеет порт tcp 8000.

+1

В linux (и я бы тоже предполагал, что в окнах), Node выдает ошибку, если он не может привязываться к порту. –

+0

'и убедитесь, что любой процесс, кроме узла, имеет порт tcp 8000.' Как это сделать? – Dev555

+0

'> curl -vv localhost: 8080' дает мне' * о подключении() к localhost port 8000 (# 0) * Trying 127.0.0.1 ... подключен * подключен к localhost (127.0.0.1) порт 8000 (# 0) > GET/HTTP/1.1 > User-Agent: curl/7.21.1 (i686-рс-mingw32) Libcurl/7.21.1 OpenSSL/0.9.8r Zlib/1 .2.3 > Ведущий: локальный: 8000 > Accept: */* > ' – Dev555

0

На мой взгляд, это либо одна из двух вещей:

  1. узел не получает запрос
  2. узел не отвечает на запрос

чтобы проверить для любой, изменить код:

// app.js 
var http = require('http'); 

http.createServer(function (req, res) { 
    console.log('got a request'); 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(8000, "127.0.0.1"); 

console.log('Server running at http://127.0.0.1:8000/'); 

Попробуйте еще раз. Если узел не получает запрос, попробуйте изменить порт на 80 вместо 8000, у меня был забавный случай с блокировкой firefox нетрадиционных портов пару недель назад.

Позвольте мне знать, как вы идете

+0

Единственный вывод, который я вижу, - 'Сервер, работающий по адресу http: //127.0.0.1: 8000'. Нет «получил запрос». – Dev555

+0

Также порт 80 занят вампом. Мне нужен способ назначить другой выделенный порт узлу, на котором он работает нормально. – Dev555

+0

попробуйте 443, это тот, который я использовал, убедитесь, что вы пытаетесь выполнить http: //, а не https: // хотя. Или временно закрыть wamp? –

-1

Попробуйте изменить ваш слушать адрес 0.0.0.0. Возможно, у вас возникли проблемы с привязкой к этому конкретному шлейфу.

+0

не работает с этим. Даже страница с этим не открывается. – Dev555

+0

Помните, я сказал, что меняю адрес прослушивания, а не URL. – kaoD

+0

Да, я изменил оба – Dev555

0

Вы проверили свой антивирус или брандмауэр Windows?

Какой бы вариант вы ни использовали, вам может понадобиться создать временное исключение или отключить его на некоторое время, чтобы убедиться, что ничего не мешает.

Смежные вопросы