Как написать байт по байту в сокет в PHP?
Например, как я могу сделать что-то вроде:
socket_write($socket,$msg.14.56.255.11.7.89.152,strlen($msg)+7);
Конкатенированные цифры псевдокода – это фактически байты в dec. Надеюсь вы понимаете меня.
Вы можете использовать функцию пакета, чтобы упаковать данные в любой тип данных. Затем отправьте его с помощью любой из функций сокета .
$strLen = strlen($msg); $packet = pack("a{$strLen}C7", $msg, 14, 56, 255, 11, 7, 89, 152); $pckLen = strlen($packet); socket_write($socket, $packet, $pckLen);
Согласно 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);
До PHP 6 байты – это просто символы. Написание строки – это то же самое, что писать массив байтов. Если это десятичные значения символа ascii, вы можете заменить свой бит $ msg …:
$msg.chr(14).chr(56).chr(255).chr(11).chr(7).chr(89).chr(152)
Если бы вы могли объяснить, что вы пытаетесь сделать, нам будет легче дать более полезный ответ, но тем временем он выполнит то, что вы описали до сих пор.