2015-11-02 22 views
5

tôi đang sử dụng một WebSocket trên trang web của tôi, nhưng một cách ngẫu nhiên nó gửi cho tôi thông báo lỗi sau:Lỗi trong WebSocket handshake: mã phản hồi mong đợi: 500

kết nối WebSocket để 'ws: //client.mydomain. ? com/socket.io/EIO = 3 & vận chuyển = WebSocket & sid = 4Kbec5T_XStAC949AACS' thất bại: Lỗi trong WebSocket handshake: mã phản hồi mong đợi: 500

Dưới đây là làm thế nào tôi kết nối với WebSocket trong ứng dụng của tôi (lưu ý nó là một ứng dụng 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 không hoàn toàn chắc chắn vấn đề là gì nhưng về cơ bản các chuỗi kết nối trông như thế này:

http://client.mydomain.com 

bất cứ ai có thể cho tôi biết whats going on?

+0

Status 500 phương tiện 'nội Error' - như một số các yêu cầu hoàn thành công và thất bại khác Tôi đoán vấn đề là ở phía máy chủ xử lý yêu cầu. Vì vậy, hãy kiểm tra dữ liệu nào bạn gửi tới máy chủ và cách máy chủ xử lý chúng. – Michael

+0

bạn đã bao giờ tìm thấy giải pháp chưa? – Webezine

Trả lời

0

Bạn không thể thử bằng cách thêm phần còn lại của mã bên trong cuộc gọi lại thành công của ajax? Như thế này:

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; 
    } 
}); 
Các vấn đề liên quan