debug-log received websocket messages
This commit is contained in:
parent
ca5bf65e9d
commit
9798687693
3 changed files with 116 additions and 1 deletions
src
21
src/main.rs
21
src/main.rs
|
@ -1,8 +1,11 @@
|
|||
#[macro_use] extern crate log;
|
||||
|
||||
use anyhow::{Context, Result};
|
||||
use futures::stream::{FuturesUnordered, StreamExt};
|
||||
use std::net::ToSocketAddrs;
|
||||
use structopt::StructOpt;
|
||||
use warp::{serve, ws, ws::Ws, Filter};
|
||||
use ws::Message;
|
||||
|
||||
#[derive(StructOpt)]
|
||||
/// Server for base2020 lockstep protocol for multiplayer games.
|
||||
|
@ -15,12 +18,28 @@ struct Args {
|
|||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()> {
|
||||
env_logger::init();
|
||||
let args = Args::from_args();
|
||||
|
||||
let socket_handler = ws().map(|upgrade: Ws| {
|
||||
upgrade.on_upgrade(|websocket| {
|
||||
let (mut sink, mut source) = websocket.split();
|
||||
async move {
|
||||
drop(websocket);
|
||||
loop {
|
||||
match source.next().await {
|
||||
Some(Ok(msg)) => {
|
||||
if let Ok(text) = msg.to_str() {
|
||||
debug!("Text message: {}", text);
|
||||
} else {
|
||||
debug!("Other message");
|
||||
}
|
||||
},
|
||||
Some(Err(err)) => {
|
||||
warn!("Websocket connection lost: {}", err);
|
||||
},
|
||||
None => break,
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue