(PHP 4 >= 4.3.0, PHP 5, PHP 7)
socket_get_option — Soketle ilgili bir seçeneğin değerini döndürür
Belirtilen soket
için ismi
seçenek
ile belirtilen seçeneğin değerini döndürür.
soket
socket_create() veya socket_accept() ile oluşturulmuş geçerli bir soket özkaynağı.
seviye
Seçeneğin geçerli olacağı protokol seviyesi. Örneğin soket
seviyesindeki seçenekleri almak için bu değiştirgede
SOL_SOCKET
kullanılabilirdi.
TCP
gibi diğer seviyeler, seviyenin protokol
numarası belirtilerek kullanılabilir. Protokol numaralarını
getprotobyname() işleviyle alabilirsiniz.
seçenek
Seçenek | Açıklama | Türü |
---|---|---|
SO_DEBUG |
Hata ayıklama bilgilerinin kaydelip kaydedilmeyeceğini belirtir. | int |
SO_BROADCAST |
Yayın iletilerinin aktarılılp aktarılmayacağını belirtir. | int |
SO_REUSEADDR |
Yerel adresin yeniden kullanılabilir olup olmadığını belirtir. | int |
SO_KEEPALIVE |
Belirli aralıklarla ileti aktarımlarında bağlantının kalıcı olup olmayacağını belirtir. Eğer bağlı soket bu iletileri yanıtlamakta başarısız olursa bağlantı kopar ve sokete yazan sürece bir SIGPIPE sinyali gönderilir. | int |
SO_LINGER |
Veri mevcut olduğunda socket_close() işlevinin bekletilip bekletilmeyeceğini belirtir. Öntanımlı olarak soket kapatılacağı zaman gönderilmemiş tüm veri gönderilmeye çalışılır. Soketin bağlantı yönelimli olduğu durumda socket_close() karşı ucun alındısını bekler. Eğer l_onoff sıfırdan farklı ve l_linger sıfırsa gönderilmemiş tüm veri iptal edilir ve soketin bağlantı yönelimli olması durumunda karşı uca bir RST (sıfırla) gönderilir. Diğer taraftan, l_onoff ve l_linger'in ikisi de sıfırdan farklıysa tüm veri gönderilinceye veya l_linger ile belirtilen süre dolana kadar socket_close() bekletilir. Soket engellenmeyen kipte ise socket_close() başarısız olup bir hata döndürür. |
array. Dizi iki anahtar içerir: l_onoff ve l_linger. |
SO_OOBINLINE |
Soketin band dışı veriyi hatta bırakıp bırakmayacağını belirtir. | int |
SO_SNDBUF |
Gönderim tamponunun boyunu belirtir. | int |
SO_RCVBUF |
Alım tamponunun boyunu belirtir. | int |
SO_ERROR |
Hata durumu hakkında bilgi verip hata kodunu siler. | int (socket_set_option() ile atanamayabilir.) |
SO_TYPE |
Soketin türünü belirtir (SOCK_STREAM gibi).
|
int (socket_set_option() ile atanamayabilir.) |
SO_DONTROUTE |
Giden iletilerin standart yönlendirme oluşumlarını es geçip geçmeyeceğini belirtir. | int |
SO_RCVLOWAT |
Soket girdi işlemlerinde işlenecek en küçük bayt sayısını belirtir. | int |
SO_RCVTIMEO |
Soket girdi işlemleri için zaman aşımı değerini belirtir. | array. Dizi iki anahtar içerir: Zaman aşımının saniye parçası sec, mikrosaniye parçası usec anahtarına konur. |
SO_SNDTIMEO |
Akış denetiminin veri gönderimini engellemesi nedeniyle bir çıktı işlevinin bekletileceği azami süreyi belirtir. | array. Dizi iki anahtar içerir: Zaman aşımının saniye parçası sec, mikrosaniye parçası usec anahtarına konur. |
SO_SNDLOWAT |
Soket çıktı işlemlerinde işlenecek en küçük bayt sayısını belirtir. | int |
TCP_NODELAY |
Nagle TCP algoritmasının iptal edilmiş olup olmadığını belirtir. | int |
Hata durumunda FALSE
yoksa belirtilen seçeneğin değerini döndürür.
Örnek 1 - socket_get_option() örneği
<?php
$socket = socket_create_listen(1223);
$linger = array('l_linger' => 1, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger);
var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));
?>
Sürüm: | Açıklama |
---|---|
4.3.0 | İşleven ismi değişti. Evvelce socket_getopt() idi. |