예제 #1
0
파일: NetPeer.cs 프로젝트: dora-BYR/Fenix
 protected bool InitKcpClient(IPEndPoint ep)
 {
     kcpClient            = KcpHostClient.Create(ep);
     kcpClient.OnReceive += (kcp, buffer) => {
         OnReceive?.Invoke(this, buffer);
     };
     kcpClient.OnClose += (kcp) => {
         OnClose?.Invoke(this);
     };
     kcpClient.OnException += (ch, ex) => {
         OnException?.Invoke(this, ex);
     };
     Log.Info(string.Format("init_kcp_client_localaddr@{0}", kcpClient.LocalAddress));
     return(true);
 }
예제 #2
0
        public static KcpHostClient Create(IPEndPoint remoteAddress)
        {
            var channelConfig = new ChannelConfig();

            channelConfig.Crc32Check = false;
            channelConfig.initNodelay(true, 10, 2, true);
            channelConfig.Sndwnd              = 512;
            channelConfig.Rcvwnd              = 512;
            channelConfig.Mtu                 = 512;
            channelConfig.FecDataShardCount   = 0;
            channelConfig.FecParityShardCount = 0;
            channelConfig.AckNoDelay          = true;
            //channelConfig.Conv = 10;//.AutoSetConv = true;
            channelConfig.UseConvChannel = false;

            var listener = new KcpHostClient(channelConfig, remoteAddress);

            return(listener);
        }