1.0.0 • Published 5 years ago
my-websocket v1.0.0
MyWebSocket
基于浏览器 Websocket 扩展
增加功能:
- 断线重连,并重发注册消息
- 二进制流消息自动
gzip
解压 - 单消息可绑定多个处理函数
ws 消息格式
// sendMsg
{
type: string // 标记消息类型
data: any // 订阅信息
}
// receiveMsg
{
type: string // 标记消息类型
timestamp: Date // 消息时间戳
data: any // 消息数据
}
如何使用
配置
- isOpen 新建 ws 实例后是否连接 ws
- reconnectNum 重连次数(默认:生产环境 5 次,开发环境 0 次)
新建实例
const ws = new MyWebSocket('/app/game/ws', {
isOpen: false,
})
发送信息
注册信息:断线重现后需重发
ws.register(WS_GAME_INIT, {
playerid: global.User.id,
gameid: gameId,
})
普通信息
ws.send(WS_USER_PHASE, {
id,
//...
})
绑定消息处理函数
const dealMsg = data => {
//...
}
ws.message(WS_USER_PHASE, dealMsg)
解绑消息处理函数
ws.removeMessage(WS_USER_PHASE)
// 或 解绑多个
ws.removeMessage([WS_USER_PHASE,...])
// 或 指定函数
ws.removeMessageFunc([WS_USER_PHASE,dealMsg)
删除注册消息
ws.removeRegister(WS_GAME_INIT)
// 或 删除多个
ws.removeRegister([WS_GAME_INIT,...])
1.0.0
5 years ago