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 — Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht.
Beschreibung
Die Funktion socket_sendto() sendet len Bytes aus dem Puffer buf über den Port port an den Socket socket mit der Adresse addr .
Parameter-Liste
- socket
-
Ein gültiger Socket-Deskriptor, der von socket_create() erzeugt wurde.
- buf
-
Die Sendedaten werden aus dem Puffer buf gelesen.
- len
-
Die Anzahl Bytes, die aus dem Puffer buf gesendet werden.
- flags
-
Der Parameter flags kann beliebige Kombinationen der folgenden Flags enthalten, die mit einem binären OR (|) verknüpft werden.
Mögliche Werte von flags MSG_OOB Sende OOB (out-of-band) Daten. MSG_EOR Setze eine Ende-Marke für den Datensatz. Die gesendeten Daten beenden die Übertragung. MSG_EOF Schließe den Socket auf der Senderseite und füge eine entsprechende Benachrichtigung an das Ende der gesendeten Daten an. Die gesendeten Daten beenden die Übertragung. MSG_DONTROUTE Umgehe das Routing, sende direkt über die Schnittstelle. - addr
-
Die IP-Adresse des enfernten Hosts.
- port
-
port ist Portnummer des entfernten Rechners, an den die Daten gesendet werden.
Rückgabewerte
socket_sendto() gibt die Anzahl der an den entfernten Host gesendeten Bytes zurück oder -1, falls ein Fehler auftrat.
Beispiele
Beispiel #1 socket_sendto() Beispiel
<?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
12-Oct-2005 07:44
