diff --git a/examples/server.rs b/examples/server.rs index 234e722..d603fed 100644 --- a/examples/server.rs +++ b/examples/server.rs @@ -47,9 +47,6 @@ async fn main() -> session_rs::Result<()> { } } } - - let _ = session.close().await; - println!("Connection {} closed", addr); }); } } diff --git a/src/session.rs b/src/session.rs index 8a49da1..969ad35 100644 --- a/src/session.rs +++ b/src/session.rs @@ -143,7 +143,7 @@ impl Session { } // --- 3. Read mask key --- - if !masked { + if !masked && !self.mask_payload { // Per spec, client-to-server frames MUST be masked self.close().await.ok(); return Err(crate::Error::InvalidFrame(