2014-11-09 4 views
1

Я новичок в node.jsПочему я получаю неверный запрос при запуске server.js и client.js и доступа к localhost?

Я пытаюсь использовать pub/sub faye nodemodule для создания веб-приложения публикации/подписки.

У меня есть следующие файлы и папки: Мои зависимостей в папке node_modules, а sever.js файл, и client.js

Мой server.js содержит следующий код:

var http = require('http'), 
faye = require('faye'); 

var server = http.createServer(), 
bayeux = new faye.NodeAdapter({mount: '/'}); 

bayeux.attach(server); 
server.listen(8000); 

что касается моего файла client.js, содержит следующий код:

var faye = require('faye') 
var client = new faye.Client('http://localhost:8000/'); 

client.subscribe('/messages', function(message) { 
alert('Got a message: ' + message.text); 
}); 

client.publish('/messages', { 
text: 'HAI!' 
}) 

Я иду к клеммных и запустить узел server.js и узел client.js

Когда я иду в свой браузер и запускаю localhost: 8000, все, что я получаю, является плохим запросом.

Почему я получаю это? Я подозреваю, что у меня нет страницы, чтобы что-то показывать. Не мог бы кто-нибудь указать мне, чего мне не хватает.

Спасибо.

ответ

1

Вы получаете эту ошибку, потому что вы установили Faye по адресу /. Поэтому, если вы попробуете просматривать до /, сервер ожидает клиента Faye, а не обычного HTTP-запроса.

Существует browser client example, который показывает, как подключиться к Faye, установленному на /faye. Вы также можете передать обработчик request в http.createServer(), который позволяет обрабатывать запрос до того, как Faye сделает это, если вы хотите ответить на конкретный запрос.

+0

поэтому server.js запустит сервер. Теперь для примера клиента браузера мне понадобится файл html для подключения клиента (с помощью скрипта src = '...') и отображения на экране? – Ralph

+0

Да. Возможно, вам удастся просто загрузить этот файл html локально, иначе вам придется обслуживать файлы html и javascript с http-сервера (используя обработчик запроса, как я уже упоминал ранее). – mscdex