避免“破坏nonsocket.io升级”错误 [英] Avoid "destroying non-socket.io upgrade" error

查看:142
本文介绍了避免“破坏nonsocket.io升级”错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试 socket。 io 的服务器,但每当我使用dojo连接到客户端,它会显示我这个错误:

I am trying to make a socket.io based server but whenever I connect by client to it using dojo, it shows me this error:

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

请帮助我。

推荐答案

Socket.io既是node.js的服务器端和客户端库。我猜猜Dojo的websocket客户端与socket.io服务器不是直接兼容的。我建议只使用 socket.io客户端进行连接,否则您可能需要修改Dojo的websocket库可能会很困难。

Socket.io is both a server and client side library for node.js. I'm guessing Dojo's websocket client is not directly compatible with the socket.io server. I would suggest just using the socket.io client for connections, otherwise you will probably have to modify Dojo's websocket library which will probably be difficult.

这篇关于避免“破坏nonsocket.io升级”错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆