测试TestTcpSocket

测试TestTcp请求----处理Socket,代码如下:

#region 测试TestTcp测试Socket

        /// <summary>
        /// 测试TestTcp
        /// </summary>
        public static void TestTcpSocket()
        {
            var threadStart = new Thread(new ThreadStart(StartTestTcpSocket))
            {
                IsBackground = true
            };
            threadStart.Start();
            Console.WriteLine($"TestTcp开始测试数据");

            int test = 1;
            while (true)
            {
                #region TcpClient
                //TcpClient tcpClient = new TcpClient();
                //tcpClient.Connect(IPAddress.Parse("127.0.0.1"), 1122);
                //Console.WriteLine($"TcpClient 发送数据:{test}");
                //await tcpClient.GetStream().WriteAsync(Encoding.UTF8.GetBytes($"client{test}"));

                //var buffer = new byte[1024];
                //var socketConnReceCount = await tcpClient.GetStream().ReadAsync(buffer, 0, buffer.Length);
                //Console.WriteLine($"TcpClient 接收数据:{Encoding.UTF8.GetString(buffer, 0, socketConnReceCount)}");

                //test++;
                //Thread.Sleep(2000);
                //tcpClient.Dispose();
                #endregion

                #region Socket
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                socket.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1122));
                Console.WriteLine($"socket client 发送数据:{test}");
                socket.Send(Encoding.UTF8.GetBytes($"client{test}"));

                var buffer = new byte[1024];
                var socketConnReceCount = socket.Receive(buffer);
                Console.WriteLine($"socket client 接收数据:{Encoding.UTF8.GetString(buffer, 0, socketConnReceCount)}");

                test++;
                Thread.Sleep(2000);
                socket.Dispose();
                #endregion

            }
        }

        public static async void StartTestTcpSocket()
        {
            TcpListener tcpListener = new TcpListener(IPAddress.Parse("127.0.0.1"), 1122);
            #region TcpListener socket
            //tcpListener.Server.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1122));
            //tcpListener.Server.Listen(10);
            #endregion
            tcpListener.Start();
            int test = 1;
            Console.WriteLine($"TcpListener服务端 启动监听");
            while (true)
            {
                #region TcpClient----AcceptTcpClientAsync
                //var tcpclient = await tcpListener.AcceptTcpClientAsync();
                //var bytes = new byte[1024];
                //var readdataCount = await tcpclient.GetStream().ReadAsync(bytes, 0, bytes.Length);
                //Console.WriteLine($"TcpListener服务端接收数据:{Encoding.UTF8.GetString(bytes, 0, readdataCount)}");

                //bytes = Encoding.UTF8.GetBytes($"服务端已处理{test}");
                //await tcpclient.GetStream().WriteAsync(bytes, 0, bytes.Length);
                //tcpclient.Dispose();
                #endregion

                #region Socket----AcceptSocketAsync
                var socketConn = await tcpListener.AcceptSocketAsync();
                //var socketConn = await socket.AcceptAsync();
                var buffer = new byte[1024];
                var socketConnReceCount = socketConn.Receive(buffer);
                Console.WriteLine($"TcpListener socket 服务端接收数据:{Encoding.UTF8.GetString(buffer, 0, socketConnReceCount)}");

                Console.WriteLine($"TcpListener socket 服务端处理数据:{test}");
                socketConn.Send(Encoding.UTF8.GetBytes($"服务端已处理{test}"));
                socketConn.Dispose();
                #endregion
            }
        }

        #endregion

测试结果如下:

public class Program
    {
        static void Main(string[] args)
        {
            #region 测试TestTcpSocket
            TestTcpSocket(); 
            #endregion
            Console.Read();
        }
    }

PCAUSA Test TCP (PCATTCP) Release Notes Printing Communications Associates, Inc. 4201 Brunswick Court Smyrna, GA 30080 USA TEL: (770) 432-4580 FAX: (770) 436-7246 E-Mail: tdivine@pcausa.com ====================================================================== Component Part No.: N/A Component Name : PCAUSA Test TCP (PCATTCP) ====================================================================== Component Version : 2.01.01.11 Release Date : February 4, 2010 1.) Now flush stderr/stdout for all exit paths. ====================================================================== Component Version : 2.01.01.10 Release Date : November 3, 2009 1.) Added new -a option to specifiy local host IP address. 2.) Now built using Visual Studio 2008 (for better or worse...). ====================================================================== Component Version : 2.01.01.07 Release Date : November 23, 2003 1.) Incorporated fix identified by Clarkson University that reduces hangs when ending the UDP transmitter test. See additional comments in TTCP_TransmitUDP module. ====================================================================== Component Version : 2.01.01.06 Release Date : April 5, 2003 1.) Fixed minor bug in TTCP transmitter. PCAUSA PCATTCP preamble was not inserted correctly when building transmit buffer. ====================================================================== Component Version : 2.01.01.05 Release Date : May 31, 2002 1.) Modification to allow SO_RVCBUF and SO_SNDBUF values of zero(0) to be handled. Original implementation did not set these options if their value was zero. 2.) Added -w write delay option. ====================================================================== Component Version : 2.01.01.04 Release Date : May 30, 2002 1.) Minor fix to test exit routines. ====================================================================== Component Version : 2.01.01.03 Release Date : May 29, 2002 Externally Visible Differences ------------------------------ 1.) Added -c "continuous" option: -c -t: send continuously -r: accept multiple connections sequentially 1.) Added -R multi-threaded concurrent TCP/UDP receiver option. 2.) Fixed error codes. Now fetch using WSAGetLastError instead of perror. The latter did not handle socket errors. 3.) Revised test output messages. 4.) New PCATTCP.chm HtmlHelp documentation. Implementation Differences -------------------------- Extensive rework to suit author's style. ====================================================================== Component Version : 1.00.00.02 Release Date : January, 2000 Fix setting of setsockopt call for TCP_NODELAY. ====================================================================== Component Version : 1.00.00.01 Release Date : April, 1999 Initial release of PCAUSA's port of TTCP to Windows.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值