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));

}

}

相关推荐
yuanmenghao5 小时前
车载Linux 系统问题定位方法论与实战系列 - 车载 Linux 平台问题定位规范
linux·运维·服务器·网络·c++
weixin_516023077 小时前
linux下fcitx5拼音的安装
linux·运维·服务器
hunter14508 小时前
Linux 进程与计划任务
linux·运维·服务器
楼田莉子8 小时前
Linux学习之磁盘与Ext系列文件
linux·运维·服务器·c语言·学习
陌上花开缓缓归以8 小时前
linux 怎么模拟系统panic重启
linux·运维·服务器
月白风清江有声9 小时前
vscode使用git
linux·运维·服务器
开开心心_Every10 小时前
免费窗口置顶小工具:支持多窗口置顶操作
服务器·前端·学习·macos·edge·powerpoint·phpstorm
cui__OaO12 小时前
Linux驱动--驱动编译
linux·运维·服务器
Kiyra14 小时前
阅读 Netty 源码关于 NioEventLoop 和 Channel 初始化部分的思考
运维·服务器·前端