(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_recvfrom — Bağlantılı olsun olmasın bir soketten veri alır
$soket
   , string &$tmmpon
   , int $uzunluk
   , int $seçenekler
   , string &$isim
   [, int &$port
  ] )
   socket_recvfrom() işlevi belirtilen
   soket üzerinden tampon
   tamponundan uzunluk baytlık veriyi
   port. porttaki  isim'den alır.
   İşlev bağlantılı (tcp) ve bağlantısız (udp) soketlerle çalışabilir. Ayrıca,
   bazı seçeneklerle işlevin davranışında değişiklik yapılabilir.
  
   isim ve port gönderimli
   aktarılmalıdır. Soket bağlantı yönelimli değilse isim
   değiştirgesine uzak konağın IP adresi veya Unix soketinin dosya yolu
   atanacaktır. Soketin bağlantı yönelimli olması durumunda
   isim NULL'dur. Bunun yanında, soketin  bir
   bağlantısız AF_INET veya AF_INET6
   soket olması durumunda port uzak konağın port
   numarasını içerecektir.
  
soketsocket_create() ile oluşturulmuş geçerli bir soket özkaynağı.
tamponAlınan verinin yerleştirileceği tampon.
uzunlukUzak konaktan alınacak azami bayt sayısı.
seçeneklerAşağıdaki değerlerin bitsel VEYAlanmış (|) bir birleşimi olabilir
| Seçenek | Açıklama | 
|---|---|
MSG_OOB | 
          Band dışı veri işlenir. | 
MSG_PEEK | 
          Veri alım kuyruğunun başlangıcından alınırken kuyruktan silinmez. | 
MSG_WAITALL | 
          
           uzunluk bayt alınıncaya kadar soket
           baskılanır. Ancak, bir sinyal alınırsa veya uzak konak bağlantıyı
           keserse işlev daha az veriyle dönebilir.
           | 
         
MSG_DONTWAIT | 
          İşlev bekleme kipinde olsa bile bu seçenek işlevin beklemeden dönmesine sebep olur. | 
isim
       Soket AF_UNIX türündeyse dosya yolu, bağlantısız
       soketse uzak konağın IP adresi, bağlantı yönelimli bir soketse
       NULL'dur.
      
port
       Sadece AF_INET ve AF_INET6
       soketlere uygulanır ve verinin alındığı uzak portu belirtir. Soket
       bağlantı yönelimli ise port NULL olacaktır.
      
   socket_recvfrom() işlevi alınan bayt sayısını döndürür.
   Bir hata oluşmuşsa FALSE döner. Hata kodu
   socket_last_error() işlevi ile alınabilir. Bu hata
   kodunu socket_strerror() işlevine aktararak hatayı
   açıklayan dizgeyi alabilirsiniz.
  
Örnek 1 - socket_recvfrom() örneği
<?php
error_reporting(E_ALL | E_STRICT);
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '127.0.0.1', 1223);
$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);
echo "$from adresinin $port. portundan $buf bayt alındı" . PHP_EOL;
?>
Bu örnek 127.0.0.1 adresindeki 1223. port üzerinde bir UDP portu oluşturup uzak konaktan alınacak 12 bayta kadar veriyi gösterir.
| Sürüm: | Açıklama | 
|---|---|
| 4.3.0 | socket_recvfrom() artık ikil olarak güvenli. |