Ciao a tutti ragazzi, stavo cercando di gestire dei socket in multicast con udp...ho realizzato questo semplice script che crea un socket e si aggiunge ad un gruppo multicast, però ho degli errori quando eseguo lo script.
codice:
<?php
echo "<h2>UDP/IP Multicast Connection</h2>\n";
$address = "239.255.0.1";
$port = 32000;
/* Create a UDP/IP socket. */
echo "Trying to create socket....";
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if ($socket === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error());
} else {
echo "OK.";
}
//join to multicast group
echo "Trying to join to multicast group at " . $address . ":".$port;
socket_set_option($socket, SOL_SOCKET, MCAST_JOIN_GROUP, array("group"=>$address,"interface"=>0));
echo "Trying to bind...";
$result = socket_bind($socket, $address, $port);
if ( $result === false ) {
echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error());
}
else {
echo "OK";
$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, MSG_WAITALL, $from, $port);
echo "Received $buf from remote address $from and remote port $port" . PHP_EOL;
}
socket_close($socket);
?>
una volta avviato ho il seguente errore:
UDP/IP Multicast Connection
Trying to create socket....OK.
Trying to join to multicast group at 239.255.0.1:32000
Warning: socket_set_option(): unable to set socket option [10022]: Argomento fornito non valido. in client.php on line 22
Trying to bind...
Warning: socket_bind(): unable to bind address [10049]: Indirizzo richiesto non valido nel proprio contesto. in client.php on line 26
socket_bind() failed: reason: Indirizzo richiesto non valido nel proprio contesto.