避免“毁non-socket.io升级”错误(Avoid “destroying non-socke

2019-06-23 10:31发布

我试图做一个socket.io基于服务器,但每当我通过客户端连接使用道场它,它让我这个错误:

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

请帮我。

Answer 1:

Socket.io既是一个node.js中服务器和客户端库 我猜Dojo的WebSocket的客户端不与socket.io服务器直接兼容。 我只想使用建议socket.io客户端的连接,否则你可能会修改Dojo的WebSocket的库,可能会很困难。



Answer 2:

设置“消灭升级”为false socketio服务器配置将解决这个问题。



文章来源: Avoid “destroying non-socket.io upgrade” error