1.0.12 • Published 2 years ago

gzh-test-kcp v1.0.12

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

gzh-test-kcp

Build Status

KCP Protocol for Pinus

说明

Pinus 的 kcp connector

  1. pinus-kcp进行了依赖升级,新增了kcp-client用于测试connector是否配置成功
  2. 修改以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);
    });
});