socket_create

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

socket_createBir soket oluşturur (iletişim için bir uç)

Açıklama

socket_create ( int $aile , int $tür , int $protokol ) : resource

Bir soket özkaynağı döndürmenin yanında iletişim için uçlardan birini belirler. Normal bir ağ bağlantısı iki soketle yapılır. Biri istemci olurken diğeri sunucu olur.

Değiştirgeler

aile

Soket tarafından kullanılacak protokol ailesi.

Olası adres/protokol aileleri
Aile Açıklama
AF_INET IPv4 protokolleri. TCP ve UDP bu ailenin en bilinen üyeleridir.
AF_INET6 IPv6 protokolleri. TCP ve UDP bu ailenin en bilinen üyeleridir.
AF_UNIX Yerel iletişim protokolleri ailesi. Süreçler arası iletişimde yüksek verimlilik ve düşük maliyet sağlar.
tür

Soket tarafından kullanılacak iletişim türü.

Olası soket türleri
Tür Açıklama
SOCK_STREAM Sıralı, güvenilir, iki yönlü bağlantıya dayalı bayt akımları. Band dışı veri aktarım mekanizması da desteklenebilir. TCP protokolü bu soket türüne dayanır.
SOCK_DGRAM Veri katarlarını destekler (bağlantısız, güvensiz, sabit uzunlukta iletiler). UDP protokolü bu soket türüne dayanır.
SOCK_SEQPACKET Sabit uzunluklu veri katarları için sıralı, güvenilir, iki yönlü bağlantıya dayanan veri aktarımı; her okuma çağrısında paketin tamamını okuyacak bir istemci gerekir.
SOCK_RAW Ham ağ protokolü erişimi sağlar. Bu özel soket türü elle bir protokol oluşturmak için kullanılabilir. Bu soketin bilinen bir kullanım da ICMP istekleridir (ping, traceroute komutları gibi).
SOCK_RDM Sıralama garantisi olmayan güvenilir verikatarı katmanı sağlar. Çoğunlukla işletim sistemleri tarafından gerçeklenmez.
protokol

Soketten dönen iletişimi kullanacak aileye özgü protokol. Bu değer protol ismi belirtilerek getprotobyname() ile alınabilir. İstenen protokol bir TCP veya UDP protokolü ise SOL_TCP veya SOL_UDP sabiti değer olarak kullanılabilir.

Bilinen protokoller
İsim Açıklama
icmp Genel Ağ Denetim İletisi Protokolü esas olarak konaklar ve ağ geçitleri tarafından hataları verikatarı iletişimi ile raporlamak için kullanılır. ICMP uygulamalarının başlıcalarından biri de "ping" komutudur (günümüz işletim sistemlerinin hemen hepsinde vardır).
udp Kullanıcı Verikatarı Protokolü bir bağlantısız, güvenilmez sabit uzuluklu kayıtların iletişiminde kullanılan bir protokoldür. Bu özelliklerinden dolayı UDP çok düşük bir protokol maliyetine sahiptir.
tcp Aktarım Denetim Protokolü, güvenilir, bağlantılı, akım yönelimli, çift yönlü bir protokoldür. TCP tüm veri paketlerinin gönderildikleri sıra ile alınacağını garanti eder. Eğer yolda herhangi bir paket kaybolursa TCP, hedef tarafından alınıncaya kadar bu paketi tekrar tekrar yollar. Güvenilirlik ve başarım için TCP gerçeklenimi, ilgili verikatarı iletişim katmanının kaç sekizlikten oluşacağına kendi karar verir. Bu bakımdan, TCP uygulamaları kısmi kayıt aktarımı olasılığını dikkate almalıdır.

Dönen Değerler

Başarısızlık durumunda FALSE, aksi takdirde bir soket özkaynağı döndürür. Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Sürüm Bilgisi

Sürüm: Açıklama
5.0.0 AF_INET6 sabiti eklendi.

Hatalar/İstisnalar

Geçersiz bir aile veya tür belirtilmişse, socket_create() bunlar için öntanımlı olarak AF_INET ve SOCK_STREAM değerleri belirtildiğini varsayar ve bu durumu bir E_WARNING iletisiyle bildirir.

Ayrıca Bakınız