if ($msg->length >= 0x7E) { // 126/1111110
$lengthExt = $msg->length == 0x7F ? 8 : 2;
$header = $this->stream->read($lengthExt);
// Set extented paylod length
$msg->length = 0;
for ($i = 0; $i < $lengthExt; $i++) {
$msg->length += ord($header[$i]) << ($lengthExt - $i - 1) * 8;
}
}
0x7F
или 8 : 2
и присваиваем к lengthExt
, Потом с этой длиной перевыполняем данную функцию? Обнуляем длину и собираем её? Decode($data)
{
if ($data == false) return;
$bytes = $data;
$dataLength = '';
$mask = '';
$coded_data = '';
$decodedData = '';
$secondByte = sprintf('%08b', ord($bytes[1]));
$masked = ($secondByte[0] == '1') ? true : false;
$dataLength = ($masked === true) ? ord($bytes[1]) & 127 : ord($bytes[1]);
if($masked === true)
{
if($dataLength === 126)
{
$mask = substr($bytes, 4, 4);
$coded_data = substr($bytes, 8);
}
elseif($dataLength === 127)
{
$mask = substr($bytes, 10, 4);
$coded_data = substr($bytes, 14);
}
else
{
$mask = substr($bytes, 2, 4);
$coded_data = substr($bytes, 6);
}
for($i = 0; $i < strlen($coded_data); $i++)
{
$decodedData .= $coded_data[$i] ^ $mask[$i % 4];
}
}
else
{
if($dataLength === 126)
{
$decodedData = substr($bytes, 4);
}
elseif($dataLength === 127)
{
$decodedData = substr($bytes, 10);
}
else
{
$decodedData = substr($bytes, 2);
}
}
return $decodedData;
if (iss.length < 19) {
elem.value = iss.replace(/\s/g,'').replace(/(.{4})/g,"$1 ");
}