node-socket
使用 nodejs 开发的 socket 通讯,目前支持 tcp 协议。基本功能:断线重连、心跳检测、路由、远程调用、超时监听等。
支持客户端监听服务端的通知、事件。使用路由方式在客户端监听。
支持远程调用。服务端注册方法,客户端调用方法即可。
功能
- tcp 的 server 和 client 互相发送消息
- 消息格式处理,目前支持 json
功能说明
- 心跳。客户端发起,5 秒一次。10 秒没有响应就断开连接。
- 连接。客户端和服务端建立连接之后发送校验 token,token 验证成功则发送成功 ack。
使用
可以查看test
目录下的文件
; const ct = ; ct; const sleep = ; ct; ct;
服务端 API
cfg
。服务端的配置,保存了使用到的配置内容。listen(port = 4000, host?: string)
。启动服务端的监听,传入监听的端口,可选的 hostname。notice(uid: string, group: string, data: any)
。主动通知除 uid 之外该房间的所有人。sendTo(uid: string, command: string, data?: any)
。给 uid 对应的客户端发送消息。sendAll(command: string, data?: any)
。给所有人发送消息
客户端 API
cfg
。配置信息。info
。当前状态信息listen(port = 3000, host?: string)
。启动监听服务。retry
。重新连接服务端。send(command, data, group?)
。发送消息。sendGroup(data:any)
。给房间群组发送消息。setGroup(group: string)
。设置房间/群组的名称onNotice(fn: any)
。当收到群体通知的时候。use(routeName:string, fn:any)
。路由事件。call(method: string)
。远程调用方法
包含的功能
- 客户端/服务端创建
- TCP 协议连接和断开
- 心跳检测
- 路由
- 组/房间标记
- 双队列服务,标记准备中和准备好的客户端
- 客户端发送消息到客户端,发送房间消息
- 远程调用。服务端注册方法,客户端调用