stream_socket_recvfrom

(PHP 5, PHP 7, PHP 8)

stream_socket_recvfromBağlı olsun ya da olmasın bir soketten veri alır

Açıklama

stream_socket_recvfrom(
    resource$soket,
    int$uzunluk,
    int$seçenekler = 0,
    ?string&$adres = null
): string|false

stream_socket_recvfrom() işlevi uzak bir soketten uzunluk baytlık veri alır.

Bağımsız Değişkenler

soket

Uzak soket.

uzunluk

soket'tan alınacak bayt sayısı.

seçenekler

seçenekler şunların bir birleşimi olarak belirtilebilir:

seçenekler için olası değerler
STREAM_OOB Band dışı veri alınır.
STREAM_PEEK Veri soketten alınır fakat tampon okunmamış bırakılır. Sonraki fread() veya stream_socket_recvfrom() çağrıları aynı veriyi görür.
adres

Belirtildiği takdirde uzak soketin adresi olarak ele alınır.

Dönen Değerler

Başarı durumunda okunan veri dizge olarak, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - stream_socket_recvfrom() örneği

<?php

$server = stream_socket_server('tcp://127.0.0.1:1234');


$socket = stream_socket_accept($server);


echo "Alınan band dışı veri: '" .
stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";


echo "Veri: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";


echo "Veri: '" . stream_socket_recvfrom($socket, 1500) . "'\n";


fclose($socket);
fclose($server);
?>

Notlar

Bilginize:

uzunluk bayttan daha uzun bir veri alınırsa, verinin alındığı soketin türüne bağlı olarak (UDP gibi) fazla baytlar iptal edilebilir.

Bilginize:

Sokete dayalı akımlar üzerindeki stream_socket_recvfrom() çağrıları, tamponlu akım işlevlerinden (fread() veya stream_get_line() gibi) sonra, veriyi soketten akım tamponunu devreden çıkararak doğrudan doğruya okur.

Ayrıca Bakınız

To Top