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.1.0, PHP 5)
socket_sendto — Envía un mensaje a un socket, ya esté conectado o no
Descripción
La función socket_sendto() envía len bytes desde buf a través del socket socket al puerto port en la dirección addr.
Parámetros
- socket
-
Un recurso socket válido creado usando socket_create().
- buf
-
La información enviada será tomada desde el buffer buf.
- len
-
Se enviarán len bytes desde buf.
- flags
-
El valor de flags puede ser una combinación de las siguientes banderas, unidas con el operador binario OR (|).
Valores posibles de flags MSG_OOB Enviar información OOB (fuera de banda). MSG_EOR Indicar una marca de registro. La información enviada completa el registro. MSG_EOF Cerra la parte enviadora del socket e incluir una notificación apropiada de éste al final de la información enviada. La información enviada completa la transacción. MSG_DONTROUTE Evitar la ruta, usar la interfaz directa. - addr
-
La dirección IP del host remoto.
- port
-
port es el número de puerto remoto al que se enviará la información.
Valores devueltos
socket_sendto() devuelve el número de bytes enviados al host remoto, o FALSE si ocurrió un error.
Ejemplos
Example #1 Ejemplo de 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);
?>
