解码websocket帧的掩码值是多少



我知道ENCODED是字节数组,但MASK是什么,他的值是什么?

 var DECODED = "";
    for (var i = 0; i < ENCODED.length; i++) {
        DECODED[i] = ENCODED[i] ^ MASK[i % 4];
    }

我在网上找到了这个例子,问题是我如何才能知道MASK的值是什么?

有什么提示或链接吗?但在谷歌的例子中,我只找到了这种类型的代码,但我希望看到明确的MASK值,任何帮助请

    pstream = new BufferedWriter(new OutputStreamWriter(csocket.getOutputStream(), StandardCharsets.UTF_8));
    char[] buff = new char[4];
    pstream.read(buf);
//now buf have that masks?

就在代码片段的上方,它说:

如果设置了MASK位(对于客户端到服务器的消息,应该设置MASK位),则读取接下来的4个八位字节(32位);这是掩蔽键

您可以在数据帧格式描述中找到MASK位。

因此伪码可以扩展到

var LEN=解码长度(缓冲区);var MASK=buffer.read(4);var ENCODED=缓冲区读取(LEN);var DECODED=新缓冲区(LEN);for(var i=0;i<ENCODED.length;i++){解码[i]=编码[i]^掩码[i%4];}

相关内容

  • 没有找到相关文章

最新更新