1.0.12 • Published 2 years ago
gzh-test-kcp v1.0.12
gzh-test-kcp
KCP Protocol for Pinus
说明
Pinus 的 kcp connector
- 对 pinus-kcp进行了依赖升级,新增了kcp-client用于测试connector是否配置成功
- 修改以conv创建对应的kcpsocket对象,为以host及port来创建kcpsocket对象,否则很难避免客户端conv一样带来无法正常连接问题
安装
yarn add pinus-kcp
使用
import * as kcpconnector from 'pinus-kcp';
app.configure('production|development', 'connector', function () {
app.set('connectorConfig', {
connector: kcpconnector.Connector,
app: pinus.app,
heartbeat: 30,
// kcp options
sndwnd: 64,
rcvwnd: 64,
nodelay: 1,
interval: 10,
resend: 2,
nc: 1,
// 1.0 新增参数
// 每次处理 package 时都刷新心跳,避免收不到心跳包的情况下掉线的问题
// 这个值默认是 false
heartbeatOnData: true,
});
});
// start app
app.start(() => {
let client = new kcpconnector.PinusClient({
host: '127.0.0.1',
port 3010,
usePinusPackage: true
});
client.on('connected', function(userdata){
console.log('onConnected and send request...');
let param = { userId: 101, channelId: 1001 };
client.request('connector.entryHandler.entry', { param }, (res: any) => {
console.log('onRequest : ' + JSON.stringify(res));
});
});
client.on('data', function(res){
console.log('onData : ' + JSON.stringify(res));
setTimeout(function() {
client.request('connector.entryHandler.entry', {
param: {
userId: 101,
channelId: 1001
}
}, (res: any) => {
console.log('onRequest : ' + JSON.stringify(res));
});
}, 500);
});
});