2012-04-06 2 views
3

Я пытаюсь сделать сервер с на основе, но всякий раз, когда я подключаю клиентом к нему с помощью додзё, он показывает мне эту ошибку:Избегайте «уничтожение non-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); 
    }); 
}); 

Пожалуйста, помогите мне.

ответ

1

Socket.io - это как серверная, так и клиентская библиотека для node.js. Я предполагаю, что клиентский веб-клиент Dojo напрямую не совместим с сервером socket.io. Я бы предложил просто использовать socket.io client для соединений, иначе вам, вероятно, придется модифицировать библиотеку веб-кластера Dojo, которая, вероятно, будет сложной.

8

Установка «уничтожить обновление» на false на конфигурации сервера socketio устранит эту проблему.

+2

Он удалил сообщение, когда я переключил 'destroy upgrade' на false, но я все еще не могу подключиться к моему серверу. Я даже использую эхо-страницу WebSockets для тестирования, возможно, что-то не так. – icedwater

Смежные вопросы