rust实现UDP服务器

use std::net::UdpSocket;

use std::io::{self, Read, Write};

fn main() -> io::Result<()> {

// 创建UDP套接字

let socket = UdpSocket::bind("127.0.0.1:8080")?;

// 初始化缓冲区

let mut buffer = [0; 1024];

loop {

// 等待数据包

let (number_of_bytes, sender_address) = socket.recv_from(&mut buffer)?;

// 解析数据包

let data = &buffer[..number_of_bytes];

// 处理数据(这里简单地将接收到的数据发送回客户端)

let response = b"Hello, UDP client!";

socket.send_to(&response, &sender_address)?;

// 打印接收到的数据

println!("Received message: {}", String::from_utf8_lossy(data));

}

}

相关推荐
Hi梅12 分钟前
批量处理框架 (Batch Processing Framework)
java·服务器·batch
秋风不问归客19 分钟前
linux 网络相关命令 及常用场景
linux·服务器·网络
金牌归来发现妻女流落街头25 分钟前
【线程池 + Socket 服务器】
java·运维·服务器·多线程
牛奶咖啡1325 分钟前
Linux文件快照备份工具rsnapshot的实践教程
linux·服务器·文件备份·文件快照备份·rsnapshot·定时备份本地或远程文件·查看指定命令的完整路径
大模型铲屎官26 分钟前
【操作系统-Day 47】揭秘Linux文件系统基石:图解索引分配(inode)与多级索引
linux·运维·服务器·人工智能·python·操作系统·计算机组成原理
拾光Ծ38 分钟前
Linux 进程控制:进程终止与等待・waitpid 选项参数与状态解析(告别僵尸进程)
linux·运维·服务器·进程控制
superman超哥42 分钟前
Rust 错误处理模式:Result、?运算符与 anyhow 的最佳实践
开发语言·后端·rust·运算符·anyhow·rust 错误处理
QyynerBoomer1 小时前
Linux进程创建详解
linux·运维·服务器
vb2008111 小时前
Ubuntu 系统下 AMQP 协议 RabbitMQ服务器部署
服务器·ubuntu·rabbitmq