2012-04-06 3 views
3

エラー:避けてください「non-socket.ioアップグレードを破壊する」私は<a href="/questions/tagged/socket.io" class="post-tag" title="show questions tagged 'socket.io'" rel="tag">socket.io</a>ベースのサーバーを作成しようとしていますが、私はそれが道場を使用して、クライアントが接続するたびに、それは私にこのエラーを示し

debug - destroying non-socket.io upgrade 

ここに私のサーバーですがコード

var express = require("express"); 
var io = require("socket.io"); 
server= express.createServer(); 
var server_socket = io.listen(server); 

server_socket.sockets.on("connection",function(socket) 
{ 
    console.log("connection established"); 
    socket.emit("message", message); 
}); 

server.listen(8080); 

そして、ここに私のクライアントコード

require(["dojox/socket"], function (socket) 
{ 
    var args, ws = typeof WebSocket != "undefined"; 
    var _socket = dojox.socket(args = { 
     url: ws ? "ws://localhost:8080/" : "http://localhost:8080", 
     headers:{ 
     "Content-Type":"application/x-www-urlencoded" 
     }, 
     transport: function(args, message){ 
      args.content = message; // use URL-encoding to send the message 
            // instead of a raw body 
      dojo.xhrPost(args); 
     } 
    }); 
    websocket = dojox.socket.Reconnect(_socket); 
    websocket.on("message",function(data) 
    { 
     console.log(data); 
    }); 
}); 

だ私を助けてください。

答えて

1

Socket.ioは、node.jsのサーバー側とクライアント側の両方のライブラリです。私はDojoのwebsocketクライアントがsocket.ioサーバーと直接互換性がないと推測しています。接続にはsocket.io clientを使用することをお勧めします。それ以外の場合は、Dojoのwebsocketライブラリを変更する必要があります。これはおそらく難しいでしょう。

8

socketioサーバー構成で "destroy upgrade"をfalseに設定すると、この問題が解決されます。

+2

'destroy upgrade'をfalseに切り替えるとメッセージが削除されましたが、まだ私のサーバーに接続できないようです。私はWebSocketsエコーページを使ってテストしています。おそらくここで何か間違っています。 – icedwater

関連する問題

 関連する問題