webSocket自动重连
ReconnectingWebSocket 一个小的JavaScript库,它装饰WebSocket API以提供WebSocket连接,如果连接断开,它将自动重新连接。
1.安装 我安装时因为当前项目里一些包没有升级,导致无法直接自动安装,故用了 url 安装
npm install https://github.com/joewalnes/reconnecting-websocket --save
提示: npm install ******* --save
加上 --save 参数会自动添加依赖到 package.json 中去。
2.使用 var ws = new WebSocket(’ ws:// … ');
替换为:
var ws = new ReconnectingWebSocket(’ ws:// … ');
3.参数设置
const wsUrl = process.env.BASE_WS + 'websocket'
this.webSocket = new ReconnectingWebSocket(wsUrl)
this.webSocket.onopen = this.webSocketOnOpen // 连接建立
this.webSocket.onmessage = this.webSocketOnMessage // 数据接收
this.webSocket.onclose = this.webSocketClose // 连接关闭
this.webSocket.onerror = this.webSocketOnError // 连接错误this.webSocket.debug = true // 记录调试消息(默认false)
this.webSocket.automaticOpen = true // 实例化时立即尝试连接(默认true)
this.webSocket.reconnectInterval = 1000 // 尝试重新连接之前延迟的毫秒数(默认1000)
this.webSocket.maxReconnectInterval = 30000 // 延迟重新连接尝试的最大毫秒数(默认30000)
this.webSocket.reconnectDecay = 1.5 // 重新连接延迟的增加率。允许重新连接尝试在问题仍然存在时退出。(默认1.5)
this.webSocket.timeoutInterval = 2000 // 在关闭和重试之前等待连接成功的最长时间(默认2000,毫秒单位)
this.webSocket.maxReconnectAttempts = null // 在放弃之前将进行的最大重新连接尝试次数。如果为null,则将继续永久重新连接尝试(默认null)
4.方法 ws.open()
打开重新连接Websocket
ws.close(code, reason)
关闭WebSocket连接或连接尝试(如果有)。如果连接已经CLOSED,则此方法不执行任何操作。
code是可选的结束代码(默认值1000)。https://tools.ietf.org/html/rfc6455#section-7.4.1
reason是套接字关闭的可选原因。https://tools.ietf.org/html/rfc6455#section-7.1.6
ws.refresh()
如果仍然打开则刷新连接(关闭然后重新打开)。
ws.send(data)
通过WebSocket连接将数据传输到服务器。
接受@param数据文本字符串,ArrayBuffer或Blob
文章图片
【webSocket自动重连】github连接:https://github.com/joewalnes/reconnecting-websocket
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 使用composer自动加载类文件
- 人脸识别|【人脸识别系列】| 实现自动化妆
- spring|spring boot项目启动websocket
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- win7删除新建不自动刷新
- 浅析(成人情趣用品智能无人自动售货机是新零售的下一个风口吗())
- WebSocket|WebSocket 语法解析
- Java代码辅助效率工具Lombok(注解|Java代码辅助效率工具Lombok(注解,自动生成代码)
- Websocket和Socket.io的区别及应用