2014-11-09 2 views
1

저는 node.js를 처음 사용했습니다server.js 및 client.js를 실행하고 localhost에 액세스 할 때 잘못된 요청을받는 이유는 무엇입니까?

게시/구독 웹 응용 프로그램을 만들 때 pub/subfaye 노드 모듈을 사용하려고합니다. node_modules 폴더에 내 종속하는 sever.js 파일 및

내 server.js 다음 코드가 포함 된 client.js :

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

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

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

나는 다음과 같은 파일과 폴더가

내 터미널 및 실행 노드 server.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!' 
}) 

을 client.js : 내 client.js 파일로서, 다음과 같은 코드를 포함

브라우저로 가서 localhost : 8000을 실행하면 잘못된 요청이 표시됩니다.

왜 내가이 문제가 발생합니까? 나는 뭔가를 표시 할 페이지가 없다고 생각합니다. 누군가 내가 누락 된 부분을 지적 해 주시겠습니까?

감사합니다.

답변

1

페이 (Faye)를 /에 마운트했기 때문에 오류가 발생했습니다. 따라서 /으로 탐색하면 서버는 일반적인 HTTP 요청이 아닌 Faye 클라이언트를 기다리고 있습니다.

/faye에 마운트 된 페이와 연결하는 방법을 보여주는 browser client example이 있습니다. request 처리기를 http.createServer()으로 전달하면 Faye가 요청하기 전에 요청을 처리 할 수 ​​있으므로 특정 요청에 응답 할 수 있습니다.

+0

그래서 server.js가 서버를 시작합니다. 이제 브라우저 클라이언트 예제에서 클라이언트에 연결할 html 파일 (src = '...'스크립트 사용)을 화면에 표시해야합니다. – Ralph

+0

예. 로컬에서 html 파일을로드하는 것으로 도망 갈 수 있습니다. 그렇지 않으면 앞서 언급 한 요청 처리기를 사용하여 http 서버에서 HTML 및 javascript 파일을 제공해야합니다. – mscdex