コード例 #1
0
ファイル: KcpFilter.cs プロジェクト: gedo4547/letter
        public void OnTransportRead(IKcpSession session, ref WrappedReader reader, WrappedArgs args)
        {
            int length = (int)reader.Length;
            var buffer = reader.ReadBuffer(length);

            //string str = System.Text.Encoding.UTF8.GetString(buffer.FirstSpan);
            //Console.WriteLine($"频道:{session.Conv},收到消息:{str}" );
        }
コード例 #2
0
ファイル: KcpController.cs プロジェクト: gedo4547/letter
        public override void OnSessionClosed(IKcpSession session)
        {
            if (!this.sessions.ContainsKey(session.Conv))
            {
                return;
            }

            this.sessions.Remove(session.Conv);
        }
コード例 #3
0
ファイル: AKcpController.cs プロジェクト: gedo4547/letter
        protected void SendExceptionTo(IKcpSession session, Exception ex)
        {
            var kcpSession = session as KcpSession;

            if (kcpSession == null)
            {
                throw new Exception("Unknown session type");
            }

            kcpSession.OnUdpMessageException(ex);
        }
コード例 #4
0
ファイル: AKcpController.cs プロジェクト: gedo4547/letter
        protected void SendUdpMessageTo(IKcpSession session, ref ReadOnlySequence <byte> buffer)
        {
            var kcpSession = session as KcpSession;

            if (kcpSession == null)
            {
                throw new Exception("Unknown session type");
            }

            kcpSession.InputUdpMessage(ref buffer);
        }
コード例 #5
0
ファイル: KcpFilter_C.cs プロジェクト: gedo4547/letter
        public override void OnTransportActive(IKcpSession session)
        {
            base.OnTransportActive(session);

            M.sessions.Add(session);

            //int count = 10;
            //for (int i = 0; i < count; i++)
            //{
            //    byte[] bytes = System.Text.Encoding.UTF8.GetBytes("kcp>>>>>>>>>>nihao_" + i.ToString());
            //    session.SafeSendAsync(bytes);
            //}

            //for (int i = 0; i < count; i++)
            //{
            //    byte[] bytes = System.Text.Encoding.UTF8.GetBytes("udp>>>>>>>>>>nihao_" + i.ToString());
            //    session.UnsafeSendAsync(Program.s_address, bytes);
            //}
        }
コード例 #6
0
ファイル: AKcpController.cs プロジェクト: gedo4547/letter
 public abstract void OnSessionClosed(IKcpSession session);
コード例 #7
0
ファイル: KcpFilter.cs プロジェクト: gedo4547/letter
 public void OnTransportWrite(IKcpSession session, ref WrappedWriter writer, WrappedArgs args)
 {
     byte[] bytes = args.Value as byte[];
     //Console.WriteLine("kcp pipeline写入数据>>" + bytes.Length);
     writer.Write(bytes);
 }
コード例 #8
0
ファイル: KcpFilter.cs プロジェクト: gedo4547/letter
 public void OnTransportException(IKcpSession session, Exception ex)
 {
     Console.WriteLine(">>>>>>>>>>>>>>>>>" + ex.ToString());
 }
コード例 #9
0
ファイル: KcpFilter.cs プロジェクト: gedo4547/letter
 public void OnTransportInactive(IKcpSession session)
 {
 }
コード例 #10
0
ファイル: KcpFilter.cs プロジェクト: gedo4547/letter
 public virtual void OnTransportActive(IKcpSession session)
 {
     Console.WriteLine($"{filterName}>>>>>OnTransportActive");
 }