bom dia, estou convertendo este socket de tcp para udp para receber dados de um rastreador, alterei para socket_dgram e também o socket recv para socket_recvfrom,
mas não esta chegando nada alguém pode me ajudar?
/**
* Creates a server socket and listens for incoming client connections
* @param string $address The address to listen on
* @param int $port The port to listen on
*/
function server_loop($address, $port) {
GLOBAL $fh;
GLOBAL $__server_listening;
printLog($fh, "server_looping...");
if(($sock = socket_create(AF_INET,SOCK_DGRAM,0))) {
printLog($fh, "failed to create socket: ".socket_strerror($sock));
exit();
}
if(($ret = socket_bind($sock, $address, $port)) < 0) {
printLog($fh, "failed to bind socket: ".socket_strerror($ret));
exit();
}
socket_set_nonblock($sock);
printLog($fh, "waiting for clients to connect...");
while ($__server_listening) {
$connection = @socket_recvfrom($sock);
if ($connection === false) {
usleep(100);
} elseif ($connection > 0) {
handle_client($sock, $connection);
} else {
printLog($fh, "error: ".socket_strerror($connection));
die;
}
}
}