From f20172521cfe83f29d8703e2989f256fde9ab82e Mon Sep 17 00:00:00 2001 From: core Date: Tue, 9 Jan 2024 19:17:55 -0500 Subject: [PATCH] fix tungstenite a bit maybe --- bevy_tungstenite_stk/src/lib.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/bevy_tungstenite_stk/src/lib.rs b/bevy_tungstenite_stk/src/lib.rs index 240573cab0cbf7a106fe4437418b298594bf2ee8..a2371801c38bb4d8f3f2cee334abe2f2188ac2a9 100644 --- a/bevy_tungstenite_stk/src/lib.rs +++ b/bevy_tungstenite_stk/src/lib.rs @@ -64,9 +64,7 @@ impl StkTungsteniteServerPlugin { thread::spawn(move || { loop { - let (stream, this_addr) = listener - .accept() - .expect("failed to accept incoming connection"); + let (stream, this_addr) = listener.accept().unwrap(); let upgraded = match tungstenite::accept(stream) { Ok(up) => up, @@ -108,7 +106,10 @@ impl StkTungsteniteServerPlugin { .send(WsEvent::Close { addr: this_addr }) .expect("failed to send on stream"); } - e => panic!("{:?}", e), + e => { + error!("error sending to {}: {}", this_addr, e); + break; + } }, } } @@ -133,7 +134,13 @@ impl StkTungsteniteServerPlugin { let mut l_stream = WebSocket::from_raw_socket(fd_ref, Role::Server, None); let l_gtx = tx.clone(); move || loop { - let msg = l_stream.read().expect("failed to read message from stream"); + let msg = match l_stream.read() { + Ok(m) => m, + Err(e) => { + error!("error reading from stream: {}", e); + break; + } + }; if let Message::Close(_) = msg { let _ = l_stream.close(None); l_gtx.send(WsEvent::Close { addr: this_addr }).unwrap();