免费资源网,https://freexyz.cn/
目录
  • c#使用TCP协议实现数据发送和接受
    • 1. 服务端代码如下所示:
    • 2. 客户端代码:

c#使用TCP协议实现数据发送和接受

使用TCP协议实现数据的发送和接受包括客户端和服务端两个部分;

1. 服务端代码如下所示:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
    static void Main()
    {
        // 设置服务器IP地址和端口号
        IPAddress ip = IPAddress.Parse("127.0.0.1");//写入实际的IP地址
        int port = 8888;
        // 创建TCP监听器
        TcpListener listener = new TcpListener(ip, port);
        listener.Start();
        Console.WriteLine("等待客户端连接...");
        // 接受客户端连接
        TcpClient client = listener.AcceptTcpClient();
        Console.WriteLine("客户端已连接");
        // 获取网络流
        NetworkStream stream = client.GetStream();
        // 读取客户端发送的数据
        byte[] buffer = new byte[1024];
        int bytesRead = stream.Read(buffer, 0, buffer.Length);
        string dataReceived = Encoding.ASCII.GetString(buffer, 0, bytesRead);
        Console.WriteLine("接收到数据: " + dataReceived);
        // 向客户端发送数据
        string dataToSend = "Hello, Client!";
        byte[] dataBytes = Encoding.ASCII.GetBytes(dataToSend);
        stream.Write(dataBytes, 0, dataBytes.Length);
        Console.WriteLine("已发送数据: " + dataToSend);
        // 关闭连接
        stream.Close();
        client.Close();
        listener.Stop();
    }
}

2. 客户端代码:

using System;
using System.Net.Sockets;
using System.Text;
class Program
{
    static void Main()
    {
        // 设置服务器IP地址和端口号
        string serverIP = "127.0.0.1";
        int serverPort = 8888;
        // 创建TCP客户端
        TcpClient client = new TcpClient();
        client.Connect(serverIP, serverPort);
        Console.WriteLine("已连接到服务器");
        // 获取网络流
        NetworkStream stream = client.GetStream();
        // 向服务器发送数据
        string dataToSend = "Hello, Server!";
        byte[] dataBytes = Encoding.ASCII.GetBytes(dataToSend);
        stream.Write(dataBytes, 0, dataBytes.Length);
        Console.WriteLine("已发送数据: " + dataToSend);
        // 读取服务器发送的数据
        byte[] buffer = new byte[1024];
        int bytesRead = stream.Read(buffer, 0, buffer.Length);
        string dataReceived = Encoding.ASCII.GetString(buffer, 0, bytesRead);
        Console.WriteLine("接收到数据: " + dataReceived);
        // 关闭连接
        stream.Close();
        client.Close();
    }
}

总结:上述示例使用服务器端创建一个TCP监听器,等待客户端连接。当客户端连接后,服务器端从客户端接收数据,并向客户端发送数据。客户端则连接到服务器,向服务器发送数据,并接收服务器发送的数据。

免费资源网,https://freexyz.cn/
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。