I used this code to send an UDP broadcast message
$ip = "255.255.255.255";
$port = 8888;
$str = "DEVICE_DISCOVERY";
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
socket_sendto($sock, $str, strlen($str), 0, $ip, $port);
socket_recvfrom($sock, $buf, 20, 0, $ip, $port);
echo "Messagge : < $buf > , $ip : $port <br>";
socket_close($sock);
I want that some specific network devices (in my case is some Arduino boards with ethernet shield) respond with a particular message.
The code works, but in this way i can't print all the responses but only one.
foreach(){}
, find out what form of data your response is turned in and then use the appropriate loop. – Ha