首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免“销毁非Socket.IO升级”错误

避免“销毁非Socket.IO升级”错误
EN

Stack Overflow用户
提问于 2012-04-07 05:41:54
回答 2查看 4.6K关注 0票数 3

我正在尝试创建一个基于socket.io的服务器,但每当我使用dojo通过客户端连接到它时,它都会显示以下错误:

代码语言:javascript
复制
    debug - destroying non-socket.io upgrade

这是我的服务器代码

代码语言:javascript
复制
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);

下面是我的客户端代码

代码语言:javascript
复制
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);
    });
});

请帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-10 03:06:19

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

票数 1
EN

Stack Overflow用户

发布于 2013-04-12 20:44:09

在socketio服务器配置上将"destroy upgrade“设置为false将解决此问题。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10049587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档