关于WEBSOCKET的一些问题

ayamzh
if ($len <= 125) {
    $encode_buffer = $first_byte . chr($len) . $buffer;
} else {
    if ($len <= 65535) {
        $encode_buffer = $first_byte . chr(126) . pack("n", $len) . $buffer;
    } else {
        $encode_buffer = $first_byte . chr(127) . pack("xxxxN", $len) . $buffer;
    }
}

问题1
关于这段encode代码 为什么当长度大于65535时 pack时前4位用xxxx,我看WEBSOCKET协议说是要用8字节来标示长度,那应该是pack NN啊。
问题2
是不是gateway发往client的数据 都不使用mask加密

3005 1 0
1个回答

walkor

1、对,但是一个N已经够大了,4G的大小,足够用了。严格的话是要两个N的,这个回头我优化下。
2、对

年代过于久远,无法发表回答
🔝