示例#1
0
        public NetClient()
        {
            tcpPkgReader = new PacketReader(NetConfig.TCPBuffersize * 4096);

            tcp               = new TcpClientToken(NetConfig.TCPBuffersize, NetConfig.BufferNumber);
            tcp.onConnect     = OnTCPConnect;
            tcp.onDisConnect += OnTCPDisConnect;
            tcp.onReceive    += OnTCPRec;
        }
示例#2
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="tcpClientHostConfig"></param>
        /// <param name="sessionHandle"></param>
        public TcpClientHost(TcpClientHostConfig tcpClientHostConfig, SessionHandle sessionHandle, ITcpClientLog tcpClientLog
            , Action<TcpClientToken> connectionToServerSuccessAction = null
            , Action<Exception> socketErrorAction = null)
        {
            _tcpClientHostConfig = tcpClientHostConfig;
            _iLog = tcpClientLog;
            _seeesionHandle = sessionHandle;
            _clientToken = new TcpClientToken(_seeesionHandle, _iLog);

            SocketErrorAction = socketErrorAction;
            ConnectionToServerSuccessAction = connectionToServerSuccessAction;
        }
示例#3
0
        void Tcp()
        {
            TcpServerToken token = new TcpServerToken(2, 2048);

            token.onAcccept += (tok) =>
            {
                Log.L(token.curConCount);
                Log.L("Accept " + tok.endPoint);
            };
            token.onReceive += (tok, seg) =>
            {
                //Log.I("Rec " + tok.EndPoint);
                byte[] buffer = new byte[seg.count];
                Array.Copy(seg.buffer, seg.offset, buffer, 0, seg.count);
                Log.L(Encoding.UTF8.GetString(buffer) + " SS ");
                token.SendAsync(tok, seg, true);
            };

            token.onDisConnect += (tok) =>
            {
                Log.L("Dis " + tok.endPoint);
                Log.L(token.curConCount);
            };
            token.Start(8888);
            // token.Stop();
            TcpClientToken c = new TcpClientToken(2048, 12);

            c.onReceive += (tok, seg) =>
            {
                //Log.I("Rec " + tok.EndPoint);
                byte[] buffer = new byte[seg.count];
                Array.Copy(seg.buffer, seg.offset, buffer, 0, seg.count);
                Thread.Sleep(1000);
                Log.L(Encoding.UTF8.GetString(buffer) + " cc ");
                c.SendAsync(seg, true);
            };
            c.ConnectAsync(8888, "127.0.0.1");
            Log.L(c.connected);
            byte[] bu = Encoding.UTF8.GetBytes("123");
            c.SendAsync(new BufferSegment(bu, 0, bu.Length));
            Thread.Sleep(1000);

            c.DisConnect();
            while (true)
            {
                if (c.connected)
                {
                    c.SendAsync(new BufferSegment(bu, 0, bu.Length));
                }
                Thread.Sleep(100);
            }
        }
示例#4
0
文件: Program.cs 项目: Indifer/Test
 public void Accredit(TcpClientToken token, Action<bool> accreditEnd)
 {
     accreditEnd(true);
 }
示例#5
0
文件: Program.cs 项目: Indifer/Test
 public void ProcessReceive(string argument, TcpClientToken token)
 {
     //Console.WriteLine("ProcessSend:{0}", argument);
 }
示例#6
0
文件: Program.cs 项目: Indifer/Test
 public bool Accredit(TcpClientToken token)
 {
     return true;
 }