0

以下のコードを使用して、ブラウザーで websocket をテストしています。

this.webSocket = new WebSocket("ws://echo.websocket.org");

this.webSocket.onopen = function(evt) {
  cc.log("Send Text WS was opened.");             
};

this.webSocket.onmessage = function(evt) {
  this.socketSendTextTimes++;
  var textStr = "response text msg: " + evt.data + this.socketSendTextTimes;
  cc.log(textStr);
};

コードはうまく機能しますが、以下のコードを実行している自分のサーバーに接続すると:

var http = require('http');
var io = require('socket.io');

var server = http.createServer(function(req, res) { 
  // Send HTML headers and message
  res.writeHead(200,{ 'Content-Type': 'text/html' }); 
  res.end('<h1>Hello!</h1>');
});

var socket = io.listen(server);

socket.set('destroy upgrade', false);
socket.on('connection', function(client) {   
  client.on('message', function(event) { 
    console.log('Received message from client!', event);
  });

  client.on('disconnect', function() {
    console.log('Server has disconnected');
  });
});

server.listen(8080);
console.log('start to listen');

私のブラウザには次のように表示されます。

hello!

しかし、リッスン ソケットは何もしません。WebSocket を使用して Socket.IO サーバーに接続するにはどうすればよいですか?

4

1 に答える 1

0

Socket.IO は、Websocket 自体をエミュレートする場合でも、ネイティブの Websocket とは別の転送方法を使用します。Socket.IO ソケットに接続するには、クライアント ライブラリが必要です。

于 2013-09-11T04:12:07.527 に答える