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!

但是监听套接字不做任何事情。如何使用 websockets 连接到 Socket.IO 服务器?

4

1 回答 1

0

Socket.IO 使用替代传输方法而不是本机 websocket,即使在模拟 websocket 本身时也是如此。您将需要客户端库来连接到 Socket.IO 套接字。

于 2013-09-11T04:12:07.527 回答