0.8.3 • Published 2 years ago

@findsoft/ws-heartbeat-ts v0.8.3

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

ws-heartbeat-ts

根据 websocket-heartbeat-js 编写的ts版本

How to use

  1. 使用 getInstance 获得ws实例, 而不是 new 关键字.
  2. 因为这可以确保对于相同的URL地址,当它不是初始调用时,它将获取现有实例,而不是创建相同URL的WS连接。
/** ts */
import WsHeartBeat from '@findsoft/ws-heartbeat-ts';
// your interface
interface IObj extends FWsData {
  id: string,
  typess: string
}
const wsInstance: WsHeartBeat = WsHeartBeat.getInstance(opt);
const myData = {id: 1, data: 2};
// 发送-json格式——自动 JSON.stringify
wsInstance.sendData( myData );
// 发送-普通格式
wsInstance.send( JSON.stringify(myData) );
// 接收-json格式(如果 JSON.parse 抛错,则会返回ws原始数据)
wsInstance.onmessage = (data: IObj, wsEvent: MessageEvent) => {
 console.log(data, 'data\nwsEvent', wsEvent);
};

Option

参数是否必填类型默认说明
urltruestringws地址
pingTimeoutfalsenumber5000心跳包发送频率
pongTimeoutfalsenumber10000超时时间,超过判定为断开
reconnectTimeoutfalsenumber2000重连延时,每time毫秒尝试重连
pingMsgfalsestring"{}"心跳包内容
repeatLimitfalsenumber5尝试重连的次数
dataTypefalsejson/byte'json'ws-message返回的数据格式
byteFormatfalseutf-8'utf-8'如果为byte类型,编码方式为utf-8

约定

  1. 需要和后端讨论 收发消息 的数据格式

为什么用ts

  • ts可以使用singleton单例模式开发,在ts项目中,可以保证同一个ws地址,只会有一个连接( version >= 0.5.x)
  • ts可以自动生成 .d.ts 的声明文件 -->

备注

其他文档可以参见 websocket-heartbeat-js

0.8.1

2 years ago

0.8.3

2 years ago

0.8.2

2 years ago

0.8.0

3 years ago

0.7.2

3 years ago

0.7.1

3 years ago

0.7.3

3 years ago

0.7.0

3 years ago

0.6.6

3 years ago

0.6.3

3 years ago

0.6.5

3 years ago

0.6.4

3 years ago

0.6.2

3 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.5.3

3 years ago

0.5.2

3 years ago