5 unstable releases
0.3.0 | Jan 18, 2024 |
---|---|
0.2.2 | Sep 19, 2022 |
0.1.6 | Apr 27, 2022 |
0.1.3 |
|
0.1.0 | Feb 4, 2022 |
#189 in WebSocket
20KB
448 lines
#rust websocket tokio server frame.
Examples Echo
use anyhow::Result;
use futures_util::StreamExt;
use log::*;
use websocket_server_async::{Builder, IPeer, IWebSocketServer};
#[tokio::main]
async fn main() -> Result<()> {
env_logger::Builder::new()
.filter_level(log::LevelFilter::Debug)
.init();
let websocket_server = Builder::new("0.0.0.0:8888")
.set_connect_event(|addr| {
info!("{} connect", addr);
true
})
.set_input_event(|mut reader, peer, _| async move {
while let Some(msg) = reader.next().await {
let msg = msg?;
if msg.is_text() || msg.is_binary() {
peer.send_message(msg).await?;
}
}
Ok(())
})
.build()
.await;
websocket_server.start_block(()).await?;
Ok(())
}
Dependencies
~11–22MB
~401K SLoC