Provided by: manpages-tr_2.0.6-2_all 

İ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)