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服务器正在监听相应的端口,否则发送方可能会抛出异常。此外,如果你需要处理并发连接或者是大量数据的传输,你可能需要使用异步方法或者调整超时设置等。

相关推荐
软泡芙17 小时前
【C# 】各种等待大全:从入门到精通
开发语言·c#·log4j
@小码农17 小时前
2026年信息素养大赛【星火征途】图形化编程复赛和决赛模拟题B
开发语言·数据结构·c++·算法
JMchen12317 小时前
NDK新趋势——Rust与Android深度集成实战
android·开发语言·rust·jni·内存安全·android ndk·移动端性能
代码羊羊17 小时前
Rust 闭包全方位详解:语法、捕获规则、Fn 三特征、返回值实战
开发语言·后端·rust
Hello eveybody17 小时前
学习C++的好处
开发语言·c++
hhb_61817 小时前
Perl脚本自动化日志分析与数据批量处理实操案例
开发语言·自动化·perl
wjs202417 小时前
XPath 实例
开发语言
十五年专注C++开发17 小时前
CMake基础: Qt之qt5_wrap_ui
开发语言·c++·qt·ui
南境十里·墨染春水17 小时前
C++日志 1——日志系统的概念与分类
开发语言·c++