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.