1 个不稳定版本
0.1.0 | 2020 年 7 月 8 日 |
---|
#7 在 #tungstenite 中
12KB
188 行
WebSocket 端点
一个基于 tokio 和 tungstenite 的通用异步 WebSocket 端点实现。这实际上不是一个真正的库,而是为想要提供请求/响应 API 的基于 WebSocket 的应用程序提供的构建块。
要使用它,只需创建一个新的 WsEndpoint 实例,并使用适当的处理器(一个接收请求,例如 JSON 字符串,并返回编码响应的函数)启动它,使其在您想要的套接字地址上运行。
以下是一个最小示例(可能已过时,请检查 'echo' 示例以获取最新版本)
extern crate ws_endpoint;
use std::io;
use ws_endpoint::WsEndpoint;
#[tokio::main]
async fn main() -> io::Result<()> {
let endpoint = WsEndpoint::new_sync_text_endpoint(process);
endpoint.start("127.0.0.1:5000").await
}
async fn process(request: String) -> Option<String> {
// We are just echoing here.
// In a real world scenario this would be
// the place to parse and process the
// request and return a proper response.
let response = request;
Some(response)
}
依赖项
~9.5MB
~193K SLoC