zl程序教程

您现在的位置是:首页 >  其他

当前栏目

测试TestTcpSocket

2023-09-14 08:57:06 时间

测试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();
        }
    }