socket_get_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

socket_get_optionSoketle ilgili bir seçeneğin değerini döndürür

Açıklama

socket_get_option ( resource $soket , int $seviye , int $seçenek ) : mixed

Belirtilen soket için ismi seçenek ile belirtilen seçeneğin değerini döndürür.

Değiştirgeler

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
Olası soket seçenekleri
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

Dönen Değerler

Hata durumunda FALSE yoksa belirtilen seçeneğin değerini döndürür.

Örnekler

Örnek 1 - socket_get_option() örneği

<?php
$socket 
socket_create_listen(1223);

$linger = array('l_linger' => 1'l_onoff' => 1);
socket_set_option($socketSOL_SOCKETSO_LINGER$linger);

var_dump(socket_get_option($socketSOL_SOCKETSO_REUSEADDR));
?>

Sürüm Bilgisi

Sürüm: Açıklama
4.3.0 İşleven ismi değişti. Evvelce socket_getopt() idi.