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 — Envia uma mensagem para o socket, se estiver conectado ou não
Descrição
int socket_sendto
( resource $socket
, string $buf
, int $len
, int $flags
, string $addr
[, int $port
] )
Aviso
Esta função é EXPERIMENTAL. O comportamento desta função, seu nome, incluindo toda documentação pode ser modificado sem aviso em futuras versões do PHP. Esta função deve ser usada por sua própria conta e risco.
A função socket_sendto() envia len bytes de buf através do socket socket para a port no endereço addr
O valor de flags pode ser um dos seguintes:
| 0x1 | Processo OOB (out-of-band) de dados. |
| 0x2 | Ver mensagens de entrada. |
| 0x4 | Bypass routing, usa interface direta. |
| 0x8 | Fluxo completo de dados. |
| 0x100 | Transação completa de dados. |
Exemplo #1 Exemplo socket_sendto()
<?php
$sh = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
if (socket_bind($sh, '127.0.0.1', 4242)) {
echo "Socket bound correctly";
}
$buf = 'Test Message';
$len = strlen($buf);
if (socket_sendto($sh, $buf, $len, 0x100, '192.168.0.2', 4242) !== FALSE) {
echo "Message sent correctly";
}
socket_close($sh);
?>
Veja também socket_send() e socket_sendmsg().
User Contributed Notes
socket_sendto
socket_sendto
ole_DOT_omland_AT_gmail_DOT_com
12-Oct-2005 04:44
12-Oct-2005 04:44

socket_send