2015-11-02 81 views
5

我用我的网站上的WebSocket,但随机发送我下面的错误消息:错误:意外响应代码:500

WebSocket连接到“WS://client.mydomain。 ?COM/socket.io/EIO = 3 &运输= WebSocket的& SID = 4Kbec5T_XStAC949AACS”失败:WebSocket的握手过程中的错误:意外的响应代码:500

这里是我如何连接到WebSocket的在我的应用程序(注它是一个Angular应用程序)。

app.factory('clientSocket', ['$sessionStorage', 'socketFactory', function ($sessionStorage, socketFactory) { 
    var connection = ''; 
    $.ajax({ 
     url: 'config.json', 
     async: false, 
     dataType: 'json', 
     success: function (response) { 
      connection = response.app_url; 
     } 
    }); 
    var myIoSocket = io.connect(connection); 

    var clientSocket = socketFactory({ 
     ioSocket: myIoSocket 
    }); 
    clientSocket.forward('someEvent'); 

    clientSocket.on('connect', function() { 
     if ($sessionStorage.activeUser != null) { 
      clientSocket.emit('userData', $sessionStorage.activeUser.user); 
     } 
    }); 


    return clientSocket; 
}]); 

我不是很确定是什么问题不过是basicly连接字符串看起来是这样的:

http://client.mydomain.com 

谁能告诉我怎么回事?

+0

状态500意味着'内部错误' - 一些请​​求成功完成,其他失败我猜问题是在服务器端处理请求。因此,请检查发送给服务器的数据以及服务器如何处理它们。 – Michael

+0

你有没有找到解决方案? – Webezine

回答

0

难道你不能通过在Ajax的成功回调中添加其他代码来尝试吗?像这样:

app.factory('clientSocket', ['$sessionStorage', 'socketFactory', function ($sessionStorage, socketFactory) { 
var connection = ''; 
$.ajax({ 
    url: 'config.json', 
    async: false, 
    dataType: 'json', 
    success: function (response) { 
     connection = response.app_url; 
     var myIoSocket = io.connect(connection); 

     var clientSocket = socketFactory({ 
    ioSocket: myIoSocket 
}); 
clientSocket.forward('someEvent'); 

clientSocket.on('connect', function() { 
    if ($sessionStorage.activeUser != null) { 
     clientSocket.emit('userData', $sessionStorage.activeUser.user); 
    } 
}); 


return clientSocket; 
    } 
}); 
相关问题