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 — Bağlı olsun olmasın bir sokete ileti gönderir
Açıklama
int socket_sendto
( resource
$soket
, string $tampon
, int $uzunluk
, int $seçenekler
, string $adres
[, int $port = 0
] )
socket_sendto() işlevi tampon
tamponundaki verinin uzunluk baytını
soket üzerinden adres
adresindeki port. porta gönderir.
Değiştirgeler
-
soket -
socket_create() ile oluşturulmuş geçerli bir soket özkaynağı.
-
tampon -
Veri bu tampondan gönderilir.
-
uzunluk -
Gönderilecek bayt sayısı.
-
seçenekler -
Aşağıdaki seçeneklerin bitsel VEYAlanmış bir birleşimi.
Olası seçeneklerMSG_OOBBand dışı veri gönderilir. MSG_EORBir kayıt imi belirtir. Gönderilen veri kaydın tamamlanmasını sağlar. MSG_EOFSoketin gönderici tarafı kapatılır ve gönderilen verinin sonuna bununla ilgili bir bildirim yerleştirilir. Gönderilen veri aktarımın tamamlanmasını sağlar. MSG_DONTROUTEYönlendirme es geçilip doğrudan arabirim kullanılır. -
adres -
Uzak konağın IP adresi.
-
port -
Verinin gönderileceği uzak portun numarası.
Dönen Değerler
Bir hata oluşmuşsa FALSE, yoksa gönderilen bayt sayısı döner.
Örnekler
Örnek 1 - socket_sendto() örneği
<?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);
?>
ole_DOT_omland_AT_gmail_DOT_com
12-Oct-2005 01:44
