LISTEN(2) | Sistem Çağrıları | LISTEN(2) |
listen - soket üzerinde bağlantıları dinler
#include <sys/types.h> /* NOTLAR’a bakın */ #include <sys/socket.h>
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.
Başarı durumunda sıfır döner. Hata oluşursa -1 döner ve hata errno değişkenine atanır.
POSIX.1-2001, POSIX.1-2008, 4.4BSD (listen() ilk defa 4.2BSD ile ortaya çıktı).
Bağlantıları kabul etmek için aşağıdaki adımlar uygulanı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.
bind(2) sayfasına bakınız.
accept(2), bind(2), connect(2), socket(2), socket(7).
© 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.
6 Eylül 2020 | Linux man-pages 5.10 |