在现代网络编程中,C# UDP通信 是一种高效、轻量级的数据传输方式,特别适用于对实时性要求高但对可靠性要求相对较低的场景,比如视频流、游戏数据或传感器信息传输。本文将手把手教你如何使用 C# 中的 UdpClient 类来实现 UDP协议编程,即使你是编程小白,也能轻松上手!
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议。它不保证数据包的顺序和可靠性,但具有低延迟、高效率的优点。与 TCP 不同,UDP 发送数据前不需要建立连接,因此非常适合需要快速响应的应用。
UdpClient 是 .NET 提供的一个封装类,用于简化 UDP 通信的开发。通过它,我们可以轻松地发送和接收 UDP 数据包,而无需直接操作底层套接字(Socket)。
下面是一个使用 UdpClient 实现的 UDP 服务器示例。它会监听本地的 11000 端口,并打印接收到的消息:
using System;using System.Net;using System.Net.Sockets;using System.Text;class UdpServer{ static void Main() { // 创建 UdpClient 并绑定到本地端口 11000 using (UdpClient udpServer = new UdpClient(11000)) { Console.WriteLine("UDP 服务器已启动,正在监听端口 11000..."); while (true) { // 接收数据(阻塞调用) IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); byte[] receivedBytes = udpServer.Receive(ref remoteEndPoint); string receivedMessage = Encoding.UTF8.GetString(receivedBytes); Console.WriteLine($"收到来自 {remoteEndPoint.Address}:{remoteEndPoint.Port} 的消息: {receivedMessage}"); } } }} 接下来,我们编写一个客户端程序,向服务器发送消息:
using System;using System.Net;using System.Net.Sockets;using System.Text;class UdpClientExample{ static void Main() { // 目标服务器地址和端口 string serverIp = "127.0.0.1"; int serverPort = 11000; using (UdpClient udpClient = new UdpClient()) { while (true) { Console.Write("请输入要发送的消息(输入 'exit' 退出): "); string message = Console.ReadLine(); if (message == "exit") break; // 将字符串转换为字节数组 byte[] sendBytes = Encoding.UTF8.GetBytes(message); // 发送数据 udpClient.Send(sendBytes, sendBytes.Length, serverIp, serverPort); Console.WriteLine($"已发送消息到 {serverIp}:{serverPort}"); } } }} 1. 先运行服务器程序(UdpServer);
2. 再运行客户端程序(UdpClientExample);
3. 在客户端输入任意文本,服务器将实时显示接收到的内容。
using 语句或手动调用 Close() 释放资源。ReceiveAsync)提升性能。通过本教程,你已经掌握了如何使用 C# 的 UdpClient 实现基本的 UDP协议编程。无论是构建聊天工具、IoT 设备通信还是实时游戏后端,这项技能都非常实用。希望这篇 C#网络编程 入门指南能为你打下坚实基础!
关键词回顾:C# UDP通信、UdpClient教程、UDP协议编程、C#网络编程
本文由主机测评网于2025-12-07发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025124078.html