KCP Protocol for Pinus
pomelo-kcp 的 TypeScript 版本
结合 Pinus 使用
====
修改自 pomelo-kcp
原本是所有连接共用一个 conv
改为根据客户端发来的消息的 conv 创建对应的 kcpsocket 对象
方便跟 tcp 连接相互配合着使用,参见 kcp 的 wiki
npm install pinus-kcp
import * as kcpconnector from 'pinus-kcp';
app.configure('production|development', 'connector', function () {
app.set('connectorConfig', {
connector: kcpconnector.Connector,
// kcp options
sndwnd: 64,
rcvwnd: 64,
nodelay: 1,
interval: 10,
resend: 2,
nc: 1,
// 1.0 新增参数
// 每次处理 package 时都刷新心跳,避免收不到心跳包的情况下掉线的问题
// 这个值默认是 false
heartbeatOnData: true,
});
});
lerna bootstrap
cd packages/pinusmod-kcp/examples
# 启动
yarn runserver
# 查看
yarn listserver
# 停止
yarn stopserver
yarn runclient
# ctrl + c 停止客户端