(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_recv — Bağlı bir soketten veri alır
$soket
   , string &$tampon
   , int $uzunluk
   , int $seçenekler
   )
   socket_recv() işlevi soket ile
   belirtilen soketten tampon içindeki
   uzunluk baytı okur. socket_recv()
   ayrıca, bağlantılı soketlerden veri toplama için de kullanılır. Buna ek
   olarak işlevin davranışlarında değişiklik yapmak için bir veya daha fazla
   sayıda seçenek belirtilebilir.
  
   tampon gönderimli aktarılır, dolayısıyla işlevin
   değiştirgeleri arasında bir değişken olarak yer almalıdır.
   socket_recv() tarafından socket
   soketinden okunan veri tampon'a konarak döndürülür.
  
socketsocket_create() ile oluşturulmuş geçerli bir soket özkaynağı.
tampon
       Verinin alınacağı değişken burada belirtilir. Bir hata oluşursa,
       bağlantı kesilirse veya alınacak bir veri yoksa
       tampon içeriği olarak NULL atanır.
      
uzunlukOkunacak azami bayt sayısını belirler.
seçeneklerAşağıdaki seçeneklerin bitsel VEYAlanmış bir birleşimi.
MSG_OOB | 
           Band dışı veri gönderilir. | 
MSG_EOR | 
           Bir kayıt imi belirtir. Gönderilen veri kaydın tamamlanmasını sağlar. | 
MSG_EOF | 
           Soketin 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_DONTROUTE | 
           Yönlendirme es geçilip doğrudan arabirim kullanılır. | 
   Bir hata oluşmuşsa FALSE yoksa alınan bayt sayısını döndürür. Oluşan
   hatanın kodu socket_last_error() ile açıklaması ise, elde
   edilen hata kodu socket_strerror() işlevine aktarılarak
   alınabilir.
  
Örnek 1 - socket_recv() örneği
Bu örnek, Örnekler arasında socket_recv() kullanan ilk örneğin yeniden yazılmışıdır.
<?php
error_reporting(E_ALL);
echo "<h2>TCP/IP Bağlantısı</h2>\n";
/* HTTP hizmeti için portu öğrenelim. */
$service_port = getservbyname('www', 'tcp');
/* Hedef konağın IP adresini alalım. */
$address = gethostbyname('www.example.com');
/* Bir TCP/IP soketi oluşturalım. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() başısız oldu: sebep: " .
    socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}
echo "'$service_port' portundun '$address' adresine bağlanmaya çalışılıyor...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() başısız oldu:\nSebep: ($result) " .
    socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}
$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';
echo "HTTP HEAD isteğini gönderelim...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";
echo "Yanıtı okuyalım:\n\n";
$buf = 'Bu bir veri tamponu verisidir.';
if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {
    echo "Read $bytes bytes from socket_recv(). Closing socket...";
} else {
    echo "socket_recv() failed; reason: " .
    socket_strerror(socket_last_error($socket)) . "\n";
}
socket_close($socket);
echo $buf . "\n";
echo "OK.\n\n";
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
<h2>TCP/IP Bağlantısı</h2> OK. '80' portundan '208.77.188.166' adresine bağlanmaya çalışılıyor...OK. HTTP HEAD isteği gönderiliyor...OK. Okunan yanıt: Soket kapatıyor...HTTP/1.1 200 OK Date: Mon, 14 Sep 2009 08:56:36 GMT Server: Apache/2.2.3 (Red Hat) Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT ETag: "b80f4-1b6-80bfd280" Accept-Ranges: bytes Content-Length: 438 Connection: close Content-Type: text/html; charset=UTF-8 OK.