Это дополнительный вопрос о том, как обрабатывать сообщения с префиксами, полученные из сетевого сокета.Я пытаюсь сделать следующее:
- Считать первые 4 байта (это префикс $ и представляет длину сообщения)
- Проверить, действительно ли префикс $ имеет размер4 байта и если это целое число
- Прочитать полное сообщение $, используя длину из префикса $
- Проверить, действительно ли сообщение имеет размер байта префикса $
До сих пор у меня есть следующие две строки кода:
$prefix = socket_read($socket, 4, PHP_BINARY_READ); //No 1.
//No 2: how to do the checks?
$message = socket_read($socket, $prefix, PHP_BINARY_READ); //No 3.
//No 4: how to do the checks?
Как я могу выполнить упомянутые проверки?
Небольшое примечание: все данные, отправленные через соединение с сетевым сокетом, находятся вUTF8, little-endian