我使用这段代码发送UDP广播消息
$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);
我希望特定的网络设备(在我的情况下,是一些带有以太网盾的Arduino板)响应一个特定的消息。
代码可以运行,但是这样我只能打印出一个响应,而不能打印出所有的响应。
foreach(){}
循环,找出响应数据的形式,然后使用相应的循环。 - Epodax