2013-09-11 208 views
0

我使用下面的代碼來測試我的瀏覽器的WebSockets:連接到測試服務器的WebSocket的作品,但是連接到我的Node.js服務器失敗

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! 

但listenin g套接字不會做任何事情。我如何使用websockets連接到Socket.IO服務器?

回答

0

即使在模擬websockets本身的情況下,Socket.IO也會使用替代傳輸方法而不是本地websocket。您將需要客戶端庫連接到Socket.IO套接字。