2012-05-27 4 views
0

당신이 수수께끼로 나를 도울 수 있는지 궁금합니다. 나는 node.js를 처음 사용했기 때문에 도움을 주셔서 감사합니다.node.js websocket server to html

외부 서버 인 jquery와 socket.io.js를 사용하는 간단한 html (클라이언트) 페이지가 있습니다. 클라이언트는 websocket 서버로 사용되는 node.js 앱에 이벤트를 보내고 이것은 예상대로 잘 작동합니다.

그러나 나는 incomming 이벤트를 node.js 응용 프로그램의 console.log보다 유용한 것으로 작성하는 방법을 알지 못합니다.

지금은 더 간단 할 수 없습니다.

var io = require('socket.io').listen(8000); 

io.set('log level',1); 

io.sockets.on('connection', function (socket) { 
    socket.on('clientevent', function (message) { 
     console.log(message); 
    }); 
    socket.on('disconnect', function() { 
     console.log('disconnected'); 
    }); 
}); 

node.js 응용 프로그램에서 client.html의 이벤트를 html (DOM) 조각으로 쓸 수 있기를 원합니다. 나는 jquery의 $ ('# event') append (message)와 같은 것을하고 싶고 node.js 서버의 물음표와 $ ('# someid') 같은 것을 말할 수있다. ...

아니면 완전히 잘못 될까요?

답변

1

기본 예제는 완벽합니다. Socket.io example with Jquery and DOM manipulation은 Jquery와 DOM 조작을 사용하여 좀 더 정교한 예제를 제공합니다. client.html을 웹 서버에 업로드하고 노드에서 app.js를 실행 한 다음 client.html에 액세스해야합니다.

Socket.io는 포트 8000에서 수신 대기하며 클라이언트는 이미 해당 포트에서 액세스하도록 구성되었습니다. 특히 DOM manipulation의 코드를 Jquery를 사용하여 참조하십시오.

희망이 도움이됩니다.

+0

답장을 보내 주셔서 감사합니다. 조금 혼란 스럽습니다. 아마 나는 바보가되고있다. 이 시점에서 client.html -> server.js를 수행 할 수 있습니다. 내가 가진 문제는 내가하고 싶은 것입니다 : client.html을 (아파치에) -> (인터넷) -> server.js-> clientreplica.html 어디 client.html 정규 서버에 그리고 clientreplica.html은 node.js.와 동일한 서버에 있습니다. 기본적으로 "인터넷"클라이언트에서 얻은 이벤트를 동적 HTML로 작성하려고합니다. server.js는 기본적으로 릴레이입니다. 그것은 어떤 의미입니까? –

+0

오, 기다려. 방금 방송의 일부를 보았습니다. 동일한 server.js 앱에 여러 클라이언트가있을 수 있다는 의미입니까? –

+1

Socket.io에서는 사용자 지정 이벤트를 내보내고받을 수 있습니다. 이 예제에서 볼 수있는 것처럼 브로드 캐스트는 emit의 특정 사용 사례입니다. 방송은 시작하는 소켓을 제외한 모든 사람들에게 메시지를 보내는 것을 의미합니다. – almypal