2015-11-02 6 views
5

sto usando un websocket sul mio sito, ma a caso mi invia il seguente messaggio di errore:Errore durante WebSocket stretta di mano: codice di risposta imprevisto: 500

collegamento WebSocket a 'WS: //client.mydomain. ? com/socket.io/OEI = 3 & trasporto = websocket & sid = 4Kbec5T_XStAC949AACS' fallito: Errore durante WebSocket stretta di mano: codice di risposta imprevisto: 500

Ecco come mi collego al websocket nella mia applicazione (nota è un'applicazione 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; 
}]); 

Im non abbastanza sicuro quale sia il problema, ma fondamentalmente la stringa di connessione simile a questa:

http://client.mydomain.com 

Qualcuno può dirmi che cosa sta succedendo?

+0

Status 500 significa "Errore interno" - poiché alcune delle richieste sono state completate correttamente e altre non riescono, suppongo che il problema riguardi il lato server che elabora la richiesta. Quindi controlla quali dati vengono inviati al server e come li elabora. – Michael

+0

hai mai trovato la risoluzione? – Webezine

risposta

0

Non riesci a provare aggiungendo il resto del codice all'interno del callback di successo di ajax? In questo modo:

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; 
    } 
});