在现代软件开发中,C#网络编程 是一项非常重要的技能。无论是开发聊天应用、远程控制工具,还是构建服务器-客户端架构的系统,掌握 TCP 通信都是基础中的基础。本文将围绕 TcpClient 和 TcpListener 这两个 .NET 提供的核心类,手把手教你实现一个简单的 C# TCP 通信程序,即使你是编程小白也能轻松上手!
TcpClient 是 .NET 中用于发起 TCP 连接并发送/接收数据的客户端类;而 TcpListener 则用于监听指定端口,等待客户端连接,常用于构建服务器端。
我们先来写一个简单的服务器,它会监听本地 8888 端口,并接收客户端发来的消息。
using System;using System.Net;using System.Net.Sockets;using System.Text;class TcpServer{ static void Main() { // 创建 TcpListener 监听本地 IP 的 8888 端口 TcpListener server = new TcpListener(IPAddress.Any, 8888); server.Start(); Console.WriteLine("服务器已启动,等待客户端连接..."); while (true) { // 接受客户端连接 TcpClient client = server.AcceptTcpClient(); Console.WriteLine("有客户端连接!"); // 获取网络流 NetworkStream stream = client.GetStream(); // 读取客户端发送的数据 byte[] buffer = new byte[1024]; int bytesRead = stream.Read(buffer, 0, buffer.Length); string message = Encoding.UTF8.GetString(buffer, 0, bytesRead); Console.WriteLine($"收到消息: {message}"); // 回复客户端 string response = "服务器已收到你的消息!"; byte[] responseBytes = Encoding.UTF8.GetBytes(response); stream.Write(responseBytes, 0, responseBytes.Length); // 关闭连接 client.Close(); } }} 接下来我们编写客户端程序,向服务器发送一条消息并接收回复。
using System;using System.Net.Sockets;using System.Text;class TcpClientExample{ static void Main() { try { // 创建 TcpClient 并连接到本地 8888 端口 TcpClient client = new TcpClient("127.0.0.1", 8888); Console.WriteLine("已连接到服务器。"); // 获取网络流 NetworkStream stream = client.GetStream(); // 发送消息 string message = "Hello from C# client!"; byte[] data = Encoding.UTF8.GetBytes(message); stream.Write(data, 0, data.Length); Console.WriteLine($"已发送: {message}"); // 接收服务器回复 byte[] buffer = new byte[1024]; int bytesRead = stream.Read(buffer, 0, buffer.Length); string response = Encoding.UTF8.GetString(buffer, 0, bytesRead); Console.WriteLine($"服务器回复: {response}"); // 关闭连接 client.Close(); } catch (Exception ex) { Console.WriteLine($"连接失败: {ex.Message}"); } Console.WriteLine("按任意键退出..."); Console.ReadKey(); }} 1. 先运行服务器程序(TcpServer),你会看到控制台输出“服务器已启动,等待客户端连接...”。
2. 再运行客户端程序(TcpClientExample),客户端会自动连接服务器、发送消息并显示服务器的回复。
恭喜!你已经成功实现了基于 C# TCP通信 的最简服务器-客户端模型。
AcceptTcpClientAsync、ReadAsync)避免阻塞主线程。Close() 或 Dispose() 释放资源。通过本教程,你已经掌握了如何使用 TcpListener示例 构建服务器,以及如何用 TcpClient教程 实现客户端通信。这是 C#网络编程 的基石,后续你可以在此基础上扩展多线程处理、心跳机制、协议封装等功能,打造更强大的网络应用。
希望这篇教程对你有所帮助!动手实践是学习编程的最佳方式,快去试试吧!
本文由主机测评网于2025-12-04发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122800.html