~starkingdoms/starkingdoms

f20172521cfe83f29d8703e2989f256fde9ab82e — core 1 year, 11 months ago 5afebed
fix tungstenite a bit maybe
1 files changed, 12 insertions(+), 5 deletions(-)

M bevy_tungstenite_stk/src/lib.rs
M bevy_tungstenite_stk/src/lib.rs => bevy_tungstenite_stk/src/lib.rs +12 -5
@@ 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();