最近在学习websocket时,一直没有发现好的websocket server工具来调试,于是就自己做了一个websocket server用来学习和调试。因为rust性能遥遥领先,所以就采用了rust来搭建服务器。废话不多说直接上代码main.rs:
use tokio::net::TcpListener;
use tokio_tungstenite::tungstenite::protocol::Message;
use tokio_tungstenite::accept_async;
use futures_util::StreamExt;
use futures_util::SinkExt;
#[tokio::main]
async fn main() {
// 监听指定端口
let addr = "0.0.0.0:8080";
let listener = TcpListener::bind(addr)
.await
.expect("Failed to bind");
println!("WebSocket server running at ws://{}", addr);
// 接收连接
while let Ok((stream, _)) = listener.accept().await {
// 处理每个 WebSocket 连接
tokio::spawn(handle_connection(stream));
}
}