0

私のサーバー側のコードは次のとおりです。

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);

}

最初に「node server.js」でサーバーを実行します。問題ありません。そして、cient コードを実行すると、ブラウザは ' http://127.0.0.1:1000' に接続できないと言ったのはなぜですか? クライアント側もsocket.ioで書く必要がありますか?

4

2 に答える 2

1

はい、 socket.io への正しいプロトコルと話す必要があります。 socket.io-clientとドキュメントの例を見てください。

于 2013-07-02T02:23:42.683 に答える
0

次のように、socket.io クライアントを使用してサーバーに接続する必要があります。

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

私のScalable Socket.IO Sampleをチェックアウトすることをお勧めします。

于 2013-07-02T02:38:58.040 に答える