c# UDP 开发

在C#中使用UDP进行开发,你可以使用System.Net.Sockets命名空间下的UdpClient类。以下是一个简单的UDP发送和接收消息的例子:

UDP发送消息:

复制代码
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
 
public class UdpSend
{
    public static void Main()
    {
        try
        {
            // 创建UdpClient实例
            UdpClient udpClient = new UdpClient();
 
            // 要发送的消息
            string message = "Hello, UDP Server!";
            byte[] data = Encoding.UTF8.GetBytes(message);
 
            // 服务器IP地址和端口
            IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 11000);
 
            // 发送消息
            udpClient.Send(data, data.Length, endPoint);
            Console.WriteLine("Message sent to the server.");
 
            // 关闭UdpClient
            udpClient.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
    }
}

UDP接收消息:

复制代码
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
 
public class UdpReceive
{
    public static void Main()
    {
        try
        {
            // 创建UdpClient实例,指定监听的端口
            UdpClient udpClient = new UdpClient(11000);
 
            // 接收消息
            IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
            byte[] data = udpClient.Receive(ref RemoteIpEndPoint);
 
            // 解码消息
            string message = Encoding.UTF8.GetString(data);
            Console.WriteLine("Message received: {0}", message);
 
            // 关闭UdpClient
            udpClient.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
    }
}

在这个例子中,发送方创建了一个UdpClient实例,然后将消息编码并发送到指定的服务器IP地址和端口。接收方同样创建了一个UdpClient实例,监听指定的端口,并在有消息到达时接收和解码消息。

确保在运行这些程序之前,UDP服务器正在监听相应的端口,否则发送方可能会抛出异常。此外,如果你需要处理并发连接或者是大量数据的传输,你可能需要使用异步方法或者调整超时设置等。

相关推荐
程序员JerrySUN3 小时前
驱动开发硬核特训 · Day 22(下篇): # 深入理解 Power-domain 框架:概念、功能与完整代码剖析
linux·开发语言·驱动开发·嵌入式硬件
游离状态的猫14 小时前
JavaScript性能优化实战:从瓶颈定位到极致提速
开发语言·javascript·性能优化
GeekABC4 小时前
FastAPI系列06:FastAPI响应(Response)
开发语言·python·fastapi·web
小彭努力中4 小时前
7.Three.js 中 CubeCamera详解与实战示例
开发语言·前端·javascript·vue.js·ecmascript
why1514 小时前
腾讯(QQ浏览器)后端开发
开发语言·后端·golang
charade3124 小时前
【C语言】内存分配的理解
c语言·开发语言·c++
LinDaiuuj4 小时前
判断符号??,?. ,! ,!! ,|| ,&&,?: 意思以及举例
开发语言·前端·javascript
code_shenbing5 小时前
WPF高级用法示例
c#·wpf·wpf高级
冰茶_5 小时前
WPF之XAML基础
microsoft·微软·c#·.net·wpf·xaml·xamarin
小臭希5 小时前
Java——琐碎知识点一
java·开发语言