tokyohuang123 发表于 2022-05-15 00:23
公司要测无线网络下数据拉满时候的无线信号的干扰强度(发数据时候无线强度),我一开始写了个socket服务无限循环喝客户端发消息 直接把cpu先跑死了。带宽根本拉不满
确实如此 但是这不是能练习下rust的机会吗
-- 👇 pader: 为啥不是用 iperf 呢?
非常感谢 虽然我现在就是这样做的
-- 👇 Aya0wind: tokio开N个task,每个task一个socket连接,往里打数据就行了,N你自己测试决定,如果可以建立多个不同ip和端口的连接效果可能更好。
const DATA:[u8;1024] = [b'a';1024]; #[tokio::main] async fn main() { let N = 100; (0..N).for_each(|_| { tokio::spawn(async { let addr = "127.0.0.1:8080".parse().unwrap(); let socket = TcpSocket::new_v4().unwrap(); let mut stream = socket.connect(addr).await.unwrap(); loop { stream.write_all(&DATA).await.unwrap(); } }); }); tokio::signal::ctrl_c().await.unwrap() }
为啥不是用 iperf 呢?
tokio开N个task,每个task一个socket连接,往里打数据就行了,N你自己测试决定,如果可以建立多个不同ip和端口的连接效果可能更好。
评论区
写评论确实如此 但是这不是能练习下rust的机会吗
--
👇
pader: 为啥不是用 iperf 呢?
非常感谢 虽然我现在就是这样做的
--
👇
Aya0wind: tokio开N个task,每个task一个socket连接,往里打数据就行了,N你自己测试决定,如果可以建立多个不同ip和端口的连接效果可能更好。
为啥不是用 iperf 呢?
tokio开N个task,每个task一个socket连接,往里打数据就行了,N你自己测试决定,如果可以建立多个不同ip和端口的连接效果可能更好。