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

相关推荐
cch89181 小时前
汇编与Java:底层与高层的编程对决
java·开发语言·汇编
荒川之神2 小时前
拉链表概念与基本设计
java·开发语言·数据库
chushiyunen3 小时前
python中的@Property和@Setter
java·开发语言·python
小樱花的樱花3 小时前
C++ new和delete用法详解
linux·开发语言·c++
froginwe113 小时前
C 运算符
开发语言
fengfuyao9853 小时前
低数据极限下模型预测控制的非线性动力学的稀疏识别 MATLAB实现
开发语言·matlab
摇滚侠3 小时前
搭建前端开发环境 安装 nodejs 设置淘宝镜像 最简化最标准版本 不使用 NVM NVM 高版本无法安装低版本 nodejs
java·开发语言·node.js
t198751284 小时前
MATLAB十字路口车辆通行情况模拟系统
开发语言·matlab
weixin_408099674 小时前
图片去水印 API 接口实战:网站如何实现自动去水印(Python / PHP / C#)
图像处理·人工智能·python·c#·php·api·图片去水印
yyk的萌4 小时前
AI 应用开发工程师基础学习计划
开发语言·python·学习·ai·lua