
Rust 中简洁的基于流的 WebSocket 实现
5星
- 浏览量: 0
- 大小:None
- 文件类型:ZIP
简介:
简介:本项目提供了一个简洁、高效的WebSocket实现方案,采用Rust语言编写,以流的形式处理数据,适用于实时通讯场景。
钨矿Rust 的轻量级基于流的 WebSocket 实现。
```rust
use std::net::TcpListener;
use std::thread::spawn;
use tungstenite::server::accept;
fn main() {
let server = TcpListener::bind(127.0.0.1:9001).unwrap();
for stream in server.incoming() {
spawn(move|| {
let mut websocket = accept(stream.unwrap()).unwrap();
loop {
let msg = websocket.read_message().unwrap();
if !msg.is_binary() && !msg.is_text() { continue; }
// 不发送 ping pong 消息
websocket.write_message(msg);
}
});
}
}
```
这是一个使用 Rust 编写的 WebSocket 回显服务器。代码首先绑定到本地的 9001 端口,并等待客户端连接。每次接收到一个新连接时,它会创建一个新的线程来处理该连接上的所有消息。
当从客户端接收一条消息后,如果这条消息是二进制或文本类型的消息,则将其回显给客户端;如果是 ping 或 pong 类型的消息则跳过不发送。
全部评论 (0)


