WebSocket断开原因、心跳机制防止自动断开连接

来源:http://www.chinese-glasses.com 作者:Web前端 人气:66 发布时间:2020-04-07
摘要:时间: 2019-10-16阅读: 978标签: websocket1、断开原因 WebSocket 对web应用来将是一个事件驱动,全双工异步通信通道(WebSocket isan event-driven, full-duplex asynchronous communications channel foryour web applicat

时间: 2019-10-16阅读: 978标签: websocket1、断开原因

WebSocket 对web应用来将是一个事件驱动,全双工异步通信通道(WebSocket is an event-driven, full-duplex asynchronous communications channel for your web applications)

WebSocket断开的原因有很多,最好在WebSocket断开时,将错误打印出来。

websocket特点:

ws.onclose = function (e) { console.log('websocket 断开: ' + e.code + ' ' + e.reason + ' ' + e.wasClean) console.log(e)}
  • 在TLS(Transport Layer Security 或 SSL)协议上进行操作
  • 能够实时的更新,减少客户端和服务端(更多)资源需求
  • 使用HTTP作为初始化传输机制,客户端接受到响应之后,通信不会中断,因此能够拜托传统的HTTP request/response 模式的约束
  • 只要连接(connection)保持打开,客户端和服务端就能够自由异步的发送信息,而不用使用轮询(polling)

错误状态码:

学习目标:

WebSocket断开时,会触发CloseEvent, CloseEvent会在连接关闭时发送给使用 WebSockets 的客户端. 它在 WebSocket 对象的 onclose 事件监听器中使用。CloseEvent的code字段表示了WebSocket断开的原因。可以从该字段中分析断开的原因。

  • 了解Websocket API
  • Websocket 协议: 信息传递工具
  • web 应用中如何使用

CloseEvent有三个字段需要注意, 通过分析这三个字段,一般就可以找到断开原因

API

CloseEvent.code: code是错误码,是整数类型CloseEvent.reason: reason是断开原因,是字符串CloseEvent.wasClean: wasClean表示是否正常断开,是布尔值。一般异常断开时,该值为false

初始化

WebSocket 的构造器有2个参数:

  • URL: 用作连接到服务器,如果不指定端口,则会通过默认端口80(HTTP 端口)或者端口443(HTTPS 端口)连接
  • protocol(可选参数): 可以是数组或者一个字符串,不传入则默认为空字符串,用来指定子协议(subprotocols)。头文件作为 Sec-WebSocket-Protocol,一个server能够实现多个WebSocket子协议

WebSocket的一些协议:

  • Registered protocols: 在WebSocket RFC6455的规范中,第11.5节定义了子协议名称由IANA维护注册的注册管理机构。
  • Opened protocols: 可以使用开发的未注册的协议,比如XMPP(Extensible Messaging and Presence Protocol) 或者 STOMP(Simple Text Oriented Message Protocol 面向简单文字信息协议)
  • Custom protocols: 可以自由设计协议,只要客户端和服务端都支持,推荐使用包含子协议发起方(originator)的域名的ASCII版本的名称,比如:chat.acme.com

使用本地server,而不使用web server代理连接的话,可以通过下列方式来实例化一个WebSocket对象

# 此处URL为: 'ws://localhost:8181'
# 如果使用TLS传输协议,URL中的'ws://' 可以用 'wss://'替换
var ws = new WebSocket('ws://localhost:8181');

本文由10bet发布于Web前端,转载请注明出处:WebSocket断开原因、心跳机制防止自动断开连接

关键词:

最火资讯