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 — Sends a message to a socket, whether it is connected or not
Description
$socket
, string $buf
, int $len
, int $flags
, string $addr
[, int $port = 0
] )
The function socket_sendto() sends
len bytes from buf
through the socket socket to the
port at the address addr.
Parameters
-
socket -
A valid socket resource created using socket_create().
-
buf -
The sent data will be taken from buffer
buf. -
len -
lenbytes frombufwill be sent. -
flags -
The value of
flagscan be any combination of the following flags, joined with the binary OR (|) operator.Possible values for flagsMSG_OOBSend OOB (out-of-band) data. MSG_EORIndicate a record mark. The sent data completes the record. MSG_EOFClose the sender side of the socket and include an appropriate notification of this at the end of the sent data. The sent data completes the transaction. MSG_DONTROUTEBypass routing, use direct interface. -
addr -
IP address of the remote host.
-
port -
portis the remote port number at which the data will be sent.
Return Values
socket_sendto() returns the number of bytes sent to the
remote host, or FALSE if an error occurred.
Examples
Example #1 socket_sendto() Example
<?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);
?>
