Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何解析websocket数据帧_Php_Websocket - Fatal编程技术网

Php 如何解析websocket数据帧

Php 如何解析websocket数据帧,php,websocket,Php,Websocket,我得到了一些PHP代码,但我不明白为什么它是这样写的。谁能给我解释一下吗 function unmask($text) { $length = ord($text[1]) & 127; if ($length == 126) { $masks = substr($text, 4, 4); $data = substr($text, 8); } elseif ($length == 127) { $masks = su

我得到了一些PHP代码,但我不明白为什么它是这样写的。谁能给我解释一下吗

function unmask($text)
{
    $length = ord($text[1]) & 127;
    if ($length == 126) {
        $masks = substr($text, 4, 4);
        $data = substr($text, 8);
    } elseif ($length == 127) {
        $masks = substr($text, 10, 4);
        $data = substr($text, 14);
    } else {
        $masks = substr($text, 2, 4);
        $data = substr($text, 6);
    }
    $text = "";
    for ($i = 0; $i < strlen($data); ++$i) {
        $text .= $data[$i] ^ $masks[$i % 4];
    }
    return $text;
}

…确切地说是什么意思?

ord只是将字符串的第一个字符的值转换为0-255(Ascii码)之间的数字-据我所知,&用于指针和“设置了$a和$b中的位。”(位运算符)-但是,在我的小测试(echo(ord(“a”)&127)中没有区别。
$length = ord($text[1]) & 127