Beispiel #1
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);
            }
        }
Beispiel #2
0
        public NetSever()
        {
            tcpTokenPool = new NetConnectionTokenPool(Configs.net.TCPCheckSpace);
            tcpTokenPool.ConnectionTimeout = Configs.net.TCPConnTimeOut;


            tcp              = new TcpServerToken(Configs.net.TCPMaxConn, Configs.net.TCPBuffersize);
            tcp.onReceive    = OnTcpRec;
            tcp.onAcccept    = OnTcpAccept;
            tcp.onDisConnect = OnTcpDisConnect;



            _tcpPkgs = new Dictionary <SocketToken, PacketReader>();
        }