diff --git a/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java b/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java index e5d419db..c4fb788f 100644 --- a/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java +++ b/src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java @@ -326,15 +326,19 @@ private String readNamespace(ByteBuf frame, final boolean defaultToAll) { int endIndex = buffer.bytesBefore((byte) '?'); if (endIndex > 0) { - // skip this frame - frame.readerIndex(frame.readerIndex() + frame.readableBytes()); - return readString(buffer, endIndex); + String namespace = readString(buffer, endIndex); + if(namespace.startsWith("/")) { + frame.readerIndex(frame.readerIndex() + endIndex + 1); + return namespace; + } } endIndex = buffer.bytesBefore((byte) ','); if (endIndex > 0) { - // skip this frame - frame.readerIndex(frame.readerIndex() + frame.readableBytes()); - return readString(buffer, endIndex); + String namespace = readString(buffer, endIndex); + if(namespace.startsWith("/")) { + frame.readerIndex(frame.readerIndex() + endIndex + 1); + return namespace; + } } if (defaultToAll) { // skip this frame