How to receive UDP data in PHP?

In PHP, you can create a UDP socket using the socket_create() function, and then receive UDP data using the socket_recvfrom() function.

Here is a simple example code:

<?php
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '0.0.0.0', 1234);

$from = '';
$port = 0;
socket_recvfrom($socket, $data, 1024, 0, $from, $port);

echo "Received data: " . $data . "\n";
echo "Received from: " . $from . ":" . $port . "\n";

socket_close($socket);
?>

The code above uses the socket_create() function to create a UDP socket, the socket_bind() function binds the socket to a specific IP address and port. Then, the socket_recvfrom() function is used to receive UDP data and store it in the $data variable. Finally, the received data along with the source IP address and port are printed using the echo statement. The socket_close() function is then used to close the socket.

Note: The above code only demonstrates how to receive UDP data and does not handle exception situations. In practice, it may be necessary to add error handling and other logic.

bannerAds