WebSocket 握手期间出错:意外的响应代码:500
Posted
技术标签:
【中文标题】WebSocket 握手期间出错:意外的响应代码:500【英文标题】:Error during WebSocket handshake: Unexpected response code: 500 【发布时间】:2016-02-02 07:12:44 【问题描述】:我在我的网站上使用 websocket,但它随机向我发送以下错误消息:
与“ws://client.mydomain.com/socket.io/?EIO=3&transport=websocket&sid=4Kbec5T_XStAC949AACS”的 WebSocket 连接失败: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;
]);
我不太确定问题出在哪里,但基本上连接字符串如下所示:
http://client.mydomain.com
谁能告诉我怎么回事?
【问题讨论】:
Status 500 表示Internal Error
- 因为一些请求成功完成而其他失败我猜问题出在服务器端处理请求。因此,请检查您发送到服务器的数据以及服务器如何处理它们。
你找到分辨率了吗?
【参考方案1】:
你不能通过在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;
);
【讨论】:
以上是关于WebSocket 握手期间出错:意外的响应代码:500的主要内容,如果未能解决你的问题,请参考以下文章