C#如何实现TCP/IP通信

   2024-09-30 3200
核心提示:在C#中,可以使用System.Net.Sockets命名空间中的类来实现TCP/IP通信。下面是一个简单的示例,展示了如何创建一个TCP服务器和客

在C#中,可以使用System.Net.Sockets命名空间中的类来实现TCP/IP通信。下面是一个简单的示例,展示了如何创建一个TCP服务器和客户端进行通信。

首先,我们创建一个TCP服务器:

using System;using System.Net;using System.Net.Sockets;using System.Text;namespace TcpServer{    class Program    {        static void Main(string[] args)        {            // 创建一个TcpListener实例,监听指定的IP地址和端口            TcpListener server = new TcpListener(IPAddress.Any, 8080);            server.Start();            Console.WriteLine("服务器已启动,等待客户端连接...");            while (true)            {                // 当有客户端连接时,接受连接并返回一个TcpClient实例                TcpClient client = server.AcceptTcpClient();                Console.WriteLine("客户端已连接:" + client.Client.RemoteEndPoint);                // 获取客户端的网络流                NetworkStream stream = client.GetStream();                // 读取客户端发送的数据                byte[] data = new byte[256];                int i = stream.Read(data, 0, data.Length);                // 将接收到的数据转换为字符串                string receivedData = Encoding.ASCII.GetString(data, 0, i);                Console.WriteLine("接收到的数据: " + receivedData);                // 向客户端发送响应                string response = "服务器已收到数据: " + receivedData;                data = Encoding.ASCII.GetBytes(response);                stream.Write(data, 0, data.Length);                // 关闭客户端连接                client.Close();            }        }    }}

接下来,我们创建一个TCP客户端:

using System;using System.Net.Sockets;using System.Text;namespace TcpClient{    class Program    {        static void Main(string[] args)        {            // 创建一个TcpClient实例,连接到服务器            TcpClient client = new TcpClient("127.0.0.1", 8080);            // 获取服务器的网络流            NetworkStream stream = client.GetStream();            // 向服务器发送数据            string sendData = "你好,这是一条来自客户端的消息!";            byte[] data = Encoding.ASCII.GetBytes(sendData);            stream.Write(data, 0, data.Length);            // 从服务器接收响应            data = new byte[256];            int i = stream.Read(data, 0, data.Length);            // 将接收到的数据转换为字符串            string receivedData = Encoding.ASCII.GetString(data, 0, i);            Console.WriteLine("接收到的响应: " + receivedData);            // 关闭客户端连接            client.Close();        }    }}

运行上述代码,首先启动TCP服务器,然后启动TCP客户端。服务器将接收到客户端发送的数据,并向客户端发送响应。客户端将接收到服务器的响应并显示在控制台上。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号