Are there best practices for handling server socket output in PHP to ensure real-time data transfer?

When handling server socket output in PHP for real-time data transfer, it is essential to use non-blocking I/O operations to prevent the server from waiting for data to be sent or received. This can be achieved by setting the socket to non-blocking mode and using functions like `stream_set_blocking()` or `stream_set_timeout()` to manage the input and output streams efficiently.

<?php
$socket = stream_socket_client('tcp://127.0.0.1:8000', $errno, $errstr, 30);

if (!$socket) {
    die("Error: $errstr ($errno)");
}

stream_set_blocking($socket, 0);

// Send data to the server
fwrite($socket, "Hello, server!");

// Read data from the server
$data = stream_get_contents($socket);

echo $data;

fclose($socket);
?>