Provided by: manpages-tr_2.0.6-2_all bug

İSİM

       listen - soket üzerinde bağlantıları dinler

BİLDİRİM

       #include <sys/types.h>          /* NOTLAR’a bakın */
       #include <sys/socket.h>

       int listen (int sockfd, int backlog);

AÇIKLAMA

       listen  sockfd  ile  gösterilen  soketi  edilgen  soket  olarak  imler  ve  accept(2)  ile gelen bağlantı
       isteklerini kabul edecek sokete dönüştürür.

       sockfd değişkeni SOCK_STREAM veya SOCK_SEQPACKET türünde bir soketin dosya tanıtıcısıdır.

       backlog değişkeni sockfd  kuyruğunun  büyüyebileceği  azami  uzunluğu  tanımlar.  Eğer  kuyruk  tam  dolu
       olduğunda  bir  bağlantı  isteği  gelirse,  istemci ECONNREFUSED hatası alabilir veya kullanılan protokol
       yeniden aktarımı destekliyorsa, bağlantı isteği görmezden gelinir, böylece tekrar gelen  bağlantı  isteği
       kabul edilir.

DÖNÜŞ DEĞERİ

       Başarı durumunda sıfır döner. Hata oluşursa -1 döner ve hata errno değişkenine atanır.

HATALAR

       EADDRINUSE
           Başka bir soket aynı portu dinliyor.

       EADDRINUSE
           (İnternet   alanı   soketleri   için)   sockfd   ile   belirtilen   soket,   önceden  bir  adres  ile
           ilişkilendirilmemiş ve soketi geçici bir portla ilişkilendirmeye çalışırken geçici port  aralığındaki
           tüm portların kullanımda olduğu anlaşılmış. ip(7) sayfasındaki /proc/sys/net/ipv4/ip_local_port_range
           ile ilgili açıklamaya bakınız.

       EBADF
           Belirtilen sockfd uygun bir dosya tanıtıcısı değil.

       ENOTSOCK
           Belirtilen sockfd’nin bir soketle ilgisi yok.

       ENOTSOCK
           Soket, listen()’ı destekleyen türde değil.

UYUMLULUK

       POSIX.1-2001, POSIX.1-2008, 4.4BSD (listen() ilk defa 4.2BSD ile ortaya çıktı).

NOTLAR

       Bağlantıları kabul etmek için aşağıdaki adımlar uygulanır:

        1. socket(2) ile soket oluşturulur.

        2. Diğer soketlerin oluşturulan sokete bağlanabilmesi için oluşturulan soket, bind(2) kullanılarak yerel
           adres ile ilişkilendirilir.

        3. Gelen  bağlantıları  kabul  etme  isteği ve gelen bağlantılar için azami kuyruk uzunluğu listen() ile
           belirtilir.

        4. Gelen bağlantılar accept(2) ile kabul edilir.

       POSIX.1’de, <sys/types.h> dahil edilmeyi gerektirmez ve yine bu başlık dosyası Linux’da  gerekmez.  Fakat
       bazı  tarihsel (BSD) uygulamalardan ötürü bu başlık dosyası gerekir ve taşınabilir uygulamalar için dahil
       edilmesi akıllıca olacaktır.

       backlog değişkeninin TCP soketleri üzerindeki etkisi Linux 2.2 ile beraber değişti. Artık,  tamamlanmamış
       bağlantı  isteklerinin  kuyruk  uzunluğunu belirlemek yerine, kabul edilmeyi bekleyen kurulmuş soketlerin
       kuyruk   uzunluğunu   belirlemektedir.   Tamamlanmamış    soketler    için    azami    kuyruk    uzunluğu
       /proc/sys/net/ipv4/tcp_max_syn_backlog   kullanılarak  tanımlanabilir.  Eşzamanlı  çerezler  (syncookies)
       etkinleştirildiğinde, mantıksal olarak azami uzunluk yoktur ve bu ayar yok sayılır. Daha fazla bilgi için
       tcp(7) sayfasına bakınız.

       backlog değeri, eğer /proc/sys/net/core/somaxonn’dan daha büyükse, bu değere düşürülür. Linux 5.4’ten  bu
       yana bu dosyanın öntanımlı değeri 4096’dır; eski çekirdeklerde öntanımlı değer 128 idi. 2.4.15’ten önceki
       çekirdeklerde SOMAXCONN’a 128 değeriyle sabitlenmişti.

ÖRNEKLER

       bind(2) sayfasına bakınız.

İLGİLİ BELGELER

       accept(2), bind(2), connect(2), socket(2), socket(7).

ÇEVİREN

       © 2022 Fatih Koçer
       Bu çeviri özgür yazılımdır: Yasaların izin verdiği ölçüde HİÇBİR GARANTİ YOKTUR.
       Lütfen,  çeviri  ile ilgili bildirimde bulunmak veya çeviri yapmak için https://github.com/TLBP/manpages-
       tr/issues adresinde "New Issue" düğmesine tıklayıp yeni bir konu açınız ve isteğinizi belirtiniz.

Linux man-pages 5.10                              6 Eylül 2020                                         LISTEN(2)