使用 C# 连接 TCP 服务器并实时读取服务器数据,可以使用一个循环来实现。以下代码示例展示了如何连接服务器、获取网络流并持续读取数据:

using System;
using System.Net.Sockets;
using System.Text;

public class TcpClientExample
{
    public static void Main()
    {
        // 连接到服务器
        TcpClient client = new TcpClient('127.0.0.1', 8888);

        // 获取网络流
        NetworkStream stream = client.GetStream();

        // 循环读取服务器数据
        while (true)
        {
            // 如果网络流可读取
            if (stream.CanRead)
            {
                // 创建缓冲区
                byte[] buffer = new byte[1024];

                // 读取数据
                int bytesRead = stream.Read(buffer, 0, buffer.Length);

                // 将数据转换成字符串
                string data = Encoding.ASCII.GetString(buffer, 0, bytesRead);

                // 输出数据
                Console.WriteLine('Received: ' + data);
            }
        }
    }
}

代码解释:

  1. 连接服务器: 使用 TcpClient 类连接到指定 IP 地址和端口的服务器。
  2. 获取网络流: 使用 GetStream() 方法获取连接的网络流。
  3. 循环读取数据: 使用 while 循环持续读取网络流中的数据。
  4. 判断网络流是否可读: 使用 CanRead 属性判断网络流是否可以读取数据。
  5. 创建缓冲区: 创建一个字节数组 buffer 来存储读取的数据。
  6. 读取数据: 使用 Read() 方法从网络流中读取数据到 buffer 中。
  7. 数据转换: 使用 Encoding.ASCII.GetString() 将字节数组转换为字符串。
  8. 输出数据: 使用 Console.WriteLine() 输出接收到的数据。

注意:

  • 此代码会持续运行直到程序关闭或网络连接断开。
  • 你可以根据实际需求添加条件语句来控制循环的停止。
  • 在实际应用中,需要根据数据格式进行相应的解析和处理。
  • 为了提高效率,可以考虑使用异步读取数据的方式。

希望此示例可以帮助你更好地理解如何使用 C# 连接 TCP 服务器并实时读取数据。

C# 实时读取 TCP 服务器数据 - 完整代码示例

原文地址: https://www.cveoy.top/t/topic/ozPi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录