示例#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);
            }
        }
示例#2
0
 public void SendTcpMessage(INetMessage message)
 {
     tcp.SendAsync(NetMessageToBufferSegment(message));
 }