(PHP 4 >= 4.3.0, PHP 5)
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.
socket_create() veya socket_accept() ile oluşturulmuş geçerli bir soket özkaynağı.
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 | 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. |