Как проанализировать и проверить фрейм WebSocket в Java?

Я написал фрейм-декодер WebSocket на Java:

private byte[] decodeFrame(byte[] _rawIn) {
        int maskIndex = 2;
        byte[] maskBytes = new byte[4];

        if ((_rawIn[1] & (byte) 127) == 126) {
            maskIndex = 4;
        } else if ((_rawIn[1] & (byte) 127) == 127) {
            maskIndex = 10;
        }

        System.arraycopy(_rawIn, maskIndex, maskBytes, 0, 4);

        byte[] message = new byte[_rawIn.length - maskIndex - 4];

        for (int i = maskIndex + 4; i < _rawIn.length; i++) {
            message[i - maskIndex - 4] = (byte) (_rawIn[i] ^ maskBytes[(i - maskIndex - 4) % 4]);
        }

        return message;
    }

Это работает, но я понятия не имею, как проверить кадр, чтобы убедиться, что он декодирует только допустимые кадры.

Описание протоколаhttp://tools.ietf.org/html/rfc6455 к сожалению, мало что говорит о проверке кадров.

Ответы на вопрос(4)

Ваш ответ на вопрос