2015-11-02 78 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; 
    } 
}); 
相關問題