This is a follow-up question about how to process prefixed messages received from a network socket. What I try to do is:
- Read the first 4 bytes (which is the $prefix and represents the length of the message)
- Check if $prefix has really the size of 4 bytes and if it's an integer
- Read the complete $message using the length from $prefix
- Check if message has really the size of $prefix bytes
So far I've the following two lines of code:
$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?
How can I do the mentioned checks?
A little side note: all data sent through the network socket connection is in UTF8, little-endian