downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

socket_getpeername> <socket_create
[edit] Last updated: Fri, 23 Mar 2012

view this page in

socket_get_option

(PHP 4 >= 4.3.0, PHP 5)

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

Açıklama

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

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.



add a note add a note User Contributed Notes socket_get_option
Chad Lavoie 13-Dec-2010 05:52
If using Unix Sockets, and you want to use SO_PEERCRED, you can use the number 17 for the optname (and SOL_SOCKET for the level).  The PID of the connecting process will be returned.
recycling dot sp dot am at gmail dot com 13-Sep-2010 11:31
Just 2 notes here:
- On UNIX, If SO_DEBUG is set, the php program needs an effective user id of 0.
-  activating SO_OOBINLINE on a socket is equivalent to passing MSG_OOB flag to each recieving functions used with that socket (eg: socket_recv, socket_recvfrom).

 
show source | credits | stats | sitemap | contact | advertising | mirror sites