Как записать байт байтом для снабжения сокетом в PHP?
Например, как может я делать что-то как:
socket_write($socket,$msg.14.56.255.11.7.89.152,strlen($msg)+7);
Псевдо код конкатенировал, цифры являются на самом деле байтами в декабре. Надежда Вы понимаете меня.
Вы можете использовать функцию pack , чтобы упаковать данные в любой желаемый тип данных. Затем отправьте его с помощью любой из функций сокета .
$strLen = strlen($msg);
$packet = pack("a{$strLen}C7", $msg, 14, 56, 255, 11, 7, 89, 152);
$pckLen = strlen($packet);
socket_write($socket, $packet, $pckLen);
До PHP 6 байты были просто символами. Запись строки - это то же самое, что и запись массива байтов. Если это десятичные значения символов ascii, вы можете заменить бит $ msg ... на:
$msg.chr(14).chr(56).chr(255).chr(11).chr(7).chr(89).chr(152)
Если бы вы могли объяснить, что вы пытаетесь сделать, нам будет легче дать более полезный ответ, но в Между тем, это завершает то, что вы описали до сих пор.
Согласно http://www.php.net/manual/en/function.socket-create.php#90573
Вы должны уметь делать
socket_write($socket,"$msg\x14\x56\x255\x11\x7\x89\x152",strlen($msg)+7);