避免“破坏非socket.io升级"错误 [英] Avoid "destroying non-socket.io upgrade" error
本文介绍了避免“破坏非socket.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.
这篇关于避免“破坏非socket.io升级"错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文