Note that dio_read on Windows (other platforms unknown) will not timeout if there is no data to read. There is no way to specify a timeout or do a non-blocking read on Windows.
PHP - Manual: dio_read
2024-12-22
(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)
dio_read — Reads bytes from a file descriptor
$fd
, int $len
= 1024): string
The function dio_read() reads and returns
len
bytes from file with descriptor
fd
.
fd
The file descriptor returned by dio_open().
len
The number of bytes to read. If not specified, dio_read() reads 1K sized block.
The bytes read from fd
.
Note that dio_read on Windows (other platforms unknown) will not timeout if there is no data to read. There is no way to specify a timeout or do a non-blocking read on Windows.
I am using dio functions on windows to read RS232 port.
I can read/write but it seems that the write function cannot be binary.
In particular:
dio_write($com1,chr(10),1); will result in writing 2 bytes 0D 0A be cause \n is translated to \r\n. I have not found any way to overcome this limitation so far