diff --git a/engineioxide/src/transport/ws.rs b/engineioxide/src/transport/ws.rs index 490174dd..dc037d01 100644 --- a/engineioxide/src/transport/ws.rs +++ b/engineioxide/src/transport/ws.rs @@ -182,7 +182,11 @@ where } p => return Err(Error::BadPacket(p)), }, - Message::Binary(data) => { + Message::Binary(mut data) => { + if socket.protocol == ProtocolVersion::V3 && !data.is_empty() { + // The first byte is the message type, which we don't need. + let _ = data.remove(0); + } engine.handler.on_binary(data, socket.clone()); Ok(()) }