为了账号安全,请及时绑定邮箱和手机立即绑定

获取使用关闭代码1006关闭websocket的原因

获取使用关闭代码1006关闭websocket的原因

HUX布斯 2019-11-15 21:09:59
我想知道websockets关闭的原因,所以我可以向用户显示正确的消息。我有sok.onerror=function (evt)      {//since there is an error, sockets will close so...       sok.onclose=function(e){           console.log("WebSocket Error: " , e);}代码始终为1006,原因始终为“”。但是我想分开说出不同的结案原因。例如,命令行给出了一个错误原因:“您不能删除它,因为数据库不允许您这样做”。但是在Chrome的控制台上,原因仍然是“”。还有其他方法可以区分不同的结算原因吗?
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

就我而言,可能是@BIOHAZARD nginx proxy timeout。默认情况60下,套接字无活动的时间是秒


我将其更改为24h nginx并解决了问题


proxy_read_timeout 86400s;

proxy_send_timeout 86400s;


查看完整回答
反对 回复 2019-11-15
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

当Chrome浏览器不符合WebSocket标准时,情况就是这样。当服务器启动关闭并向客户端发送关闭帧时,Chrome认为这是错误,并使用代码1006并没有原因消息将其报告给JS端。在我的测试中,Chrome从未响应服务器启动的关闭帧(关闭代码1000),表明代码1006可能表示Chrome正在报告自己的内部错误。

PS Firefox v57.00可以正确处理此情况,并成功将服务器的原因消息传递给JS端。


查看完整回答
反对 回复 2019-11-15
  • 3 回答
  • 0 关注
  • 16256 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信