2013-07-02 3 views
0

내 서버 측 코드는 다음과 같습니다 :내 브라우저가 nodejs socket.io 서버에 연결할 수없는 이유는 무엇입니까?

var app = require('http').createServer(handler) 
    , io = require('socket.io').listen(app) 


app.listen(1000); 

function handler (req, res) { 

    function (err, data) { 

    res.writeHead(200); 
    res.end(data); 
    }); 
} 

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

내 브라우저 측 코드는 다음과 같습니다 :

window.WebSocket = window.WebSocket || window.MozWebSocket;

if (!window.WebSocket){ 

alert("WebSocket not supported by this browser"); 

return; 

} 

var websocket = new WebSocket("ws://127.0.0.1:1000/"); 

websocket.onmessage = function(evt){ 

var data = evt.data; 
console.log(data); 

} 

먼저 내가 '노드 server.js'로 서버를 실행, 괜찮아요. 그리고 실용적인 코드를 실행할 때 브라우저가 'http://127.0.0.1:1000'에 연결할 수 없다고했는데 왜 그런가요? 클라이언트 측에서도 socket.io로도 작성해야합니까?

답변

1

예 올바른 소켓 프로토콜과 상담해야합니다. socket.io-client 및 설명서의 예를 참조하십시오.

0

이 같은 socket.io 클라이언트와 서버에 연결해야합니다

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io.connect('http://localhost:3000'); 
</script> 

당신은 내 Scalable Socket.IO Sample을 체크 아웃 할 수 있습니다.

+0

안녕하세요, 저는 클라이언트가 다음과 같이 작성 될 수 있음을 알고 있습니다. 하지만 socket.io를 사용하지 않고 클라이언트를 작성할 수 있는지 궁금합니다. – slee

+0

나도 몰라. 어쩌면 socket.io 클라이언트의 소스 코드를 추적하고 프로토콜을 이해해야합니다. –

+0

왜 socket.io 클라이언트없이 서버에 연결 하시겠습니까? 전송을 위해 webscoket 만 사용하려면 서버에서 다음 구성을 사용할 수 있습니다 :'io.set ('transports', [ 'websocket']);'. –

관련 문제