2011-07-29 2 views
5

socket.io 공식 웹에서 말하는 것처럼 socket.io 및 nodejs로 첫 번째 응용 프로그램을 만들지 만 노드 server.js를 실행 한 후 HTML에서 볼 수있는 유일한 것은 "socket.io에 오신 것을 환영합니다."입니다. 이 문제를 어떻게 해결할 수 있습니까? 아니면 이런 일이 일어나는 이유는 무엇입니까? 다음과 같이socket.io에 오신 것을 환영합니다. only message

코드는 다음과 같습니다

index.html 

<script src="http://my.page/node_modules/socket.io/lib/socket.io.js"></script> 
<script> 
    var socket = io.connect('http://abogados.pages/'); 
    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('my other event', { my: 'data' }); 
    }); 

</script> 

server.js 

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

io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    console.log(data); 
    }); 
}); 

, 내가 socket.io로 시작할 수 없습니다 아니라면 때문에 내가 어떤 대답을 주셔서 감사합니다 정말 것입니다!

답변

10

socket.io에 오신 것을 환영합니다! 1.You는 바로이 같은 socket.io JS 파일을 추가해야

,

<script src="/socket.io/socket.io.js"></script> 

당신은 실제 파일을 처리 할 필요가 없습니다. socket.io이 처리됩니다.

  1. Hello world는 문서가 아닌 브라우저 콘솔에 기록됩니다. Firebug 또는 dev 도구를 사용하여 체크 아웃하십시오.

  2. 자기 자신이 뭔가를하려면 브라우저에서 이벤트를 내 보낸 다음 socket.on('your event', function(){})을 사용하고 console.log에 클라이언트 양식을받은 데이터를 사용하십시오.

저는 node와 socket.io도 처음 사용합니다! :)

+0

"실제 파일을 처리 할 필요가 없습니다."Wth? 그건 나에게 이상한 일이다. 어쩌면 그들은 "socket.io에 오신 것을 환영합니다!"대신 유용한 것을 말할 것입니다. –

1

완벽하게 작동합니다.

index.html을

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io.connect('http://localhost'); 
    socket.on('news', function (data) { 
    console.log(data); 
    //socket.emit('my other event', { my: 'data' }); // Line A 
    }); 
    socket.emit('my other event', { my: 'data' }); //Line B 
</script> 

server.js

var io = require('socket.io').listen(80); 
io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    console.log(data); 
    }); 
}); 

아마, 라인과 라인 B를 교체 A는 trick.Don't는 '왜 socket.io didn를 알고 않습니다 t는 그들의 예제를 확인한다. socket.emit()이 독립 호출이고 server.Reason 아직 알 수없는 새로운 이벤트로 인해 어떻게 든 발생하지 않기 때문에 이것은 그렇다. 그러나 나는 원하는 출력을 얻을 수 있었다.

관련 문제