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
$socket
, string $buf
, int $len
, int $flags
, string $addr
[, int $port = 0
] )
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
lenbytes desdebuf. -
flags -
El valor de
flagspuede ser una combinación de las siguientes banderas, unidas con el operador binario OR (|).Valores posibles de flagsMSG_OOBEnviar información OOB (fuera de banda). MSG_EORIndicar una marca de registro. La información enviada completa el registro. MSG_EOFCerra 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_DONTROUTEEvitar la ruta, usar la interfaz directa. -
addr -
La dirección IP del host remoto.
-
port -
portes 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
Ejemplo #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);
?>
