RustInPractice(23):WebSocket 与异步流
WebSocket 在 HTTP upgrade 后保持双向消息通道。tokio-tungstenite 将连接同时实现 Stream 与 Sink,接收用 next().await,发送用 send().await。
对应
networking/websocket。下一篇:SQLite。
1 | while let Some(message) = ws.next().await { |
服务端通常为每条连接 spawn 一个 task,连接结束后 task 自动结束。需要显式处理 text、binary、ping、pong、close 和错误;demo 将 binary 转成文本提示,因此它是文本 echo,不是保留二进制 payload 的 echo 服务。
accept 循环也不应静默吞掉 listener 错误。生产服务还需要连接上限、超时、认证和关闭协议。
下一篇:SQLite 与 rusqlite。
http://shiguol.github.io/2026/07/23/RustInPractice-23-WebSocket%E4%B8%8E%E5%BC%82%E6%AD%A5%E6%B5%81/
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 WALL-E's Blog!











