Here's how you can make an udp broadcast, useful sometimes, and does seem hard to figure out hwo to do..
<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
socket_sendto($sock, $broadcast_string, strlen($broadcast_string), 0, '255.255.255.255', $port);
?>
socket_sendto
(PHP 4 >= 4.0.7, PHP 5)
socket_sendto — Envoie une message à une socket, qu'elle soit connectée ou pas
Description
socket_sendto() envoie len octets issus du buffer buf via la socket socket , vers le port port , à l'adresse addr .
Liste de paramètres
- socket
-
Une ressource de socket valide, créée par la fonction socket_create().
- buf
-
Les données à envoyer seront prises depuis le buffer buf .
- len
-
len octets depuis buf doivent être envoyés.
- flags
-
Peut être une combinaison des drapeaux suivants, joints par un OU binaire (|).
Valeurs possibles pour flags MSG_OOB Traite les données OOB (out-of-band). MSG_EOR Indique un marqueur d'enregistrement. Les données envoyées complètent l'enregistrement. MSG_EOF Termine l'envoi via le socket et inclue une notification appropriée à la fin des données envoyées. Les données envoyées complètent la transaction. MSG_DONTROUTE Ignore le routage, utilise une interface directe. - addr
-
L'adresse IP de l'hôte distant.
- port
-
port est le numéro de port sur lequel les données doivent être envoyées.
Valeurs de retour
socket_sendto() retourne le nombre d'octets envoyés sur l'hôte distant ou -1 si une erreur survient.
Exemples
Exemple #1 Exemple avec socket_sendto()
<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$msg = "Ping !";
$len = strlen($msg);
socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
socket_close($sock);
?>
socket_sendto
13-Oct-2005 04:44
