Provided by: manpages-tr_2.0.6-2_all 

İSİM
connect - soket üzerinde bağlantı oluşturur
BİLDİRİM
#include <sys/types.h> /* NOTLAR’a bakın */
#include <sys/socket.h>
int connect (int sockfd, const struct sockaddr *addr, socklen_t addrlen);
AÇIKLAMA
connect() sistem çağrısı, sockfd ile belirtilen soketi addr ile belirtilen adrese bağlar. addrlen ile
addr boyutu belirlenir. addr içindeki adresin biçimi, sockfd soketinin adres uzayı tarafından belirlenir;
daha ayrıntılılı bilgi için socket(2) sayfasına bakılabilir.
Eğer soket sockfd SOCK_DGRAM türünden ise, addr, verilerin gönderildiği ve alındığı öntanımlı adres olur.
Eğer soket SOCK_STREAM veya SOCK_SEQPACKET türünden ise, sistem çağrısı, addr ile ilişkilendirilen
soketle bağlantı kurmaya çalışır.
Bazı protokol soketleri (örneğin UNIX alanı akım soketleri) sadece bir kere başarıyla connect()
yapabilir.
Bazı protokol soketleri (örneğin UNIX ve İnternet alanları içerisindeki veri soketleri) bağlantılarını
değiştirmek için connect()’i çok kez kullanabilir.
Bazı protokol soketleri (örneğin UNIX ve İnternet alanları içerisindeki TCP ve veri soketleri)
sockaddr’in sa_family üyesi AF_UNSPEC olarak ayarlanmış bir adrese bağlanarak ilişkiyi çözebilir;
sonrasında, soket bir başka adrese bağlanabilir. (AF_UNSPEC Linux’da, çekirdek 2.2’den itibaren
desteklenmektedir.)
DÖNÜŞ DEĞERİ
Bağlantı veya ilişkilendirme bşarılı ise sıfır döner. Hata durumunda -1 dönder ve hata errno değişkenine
atanır.
HATALAR
Aşağıdaki hatalar genel soketler içindir. Diğer alanların özelinde başka hata kodları olabilir.
EACCES
Dosya yoluna göre tanınan UNIX alan soketleri için: soket dosyası için yazma izni veya dosya
yolundaki bir dizin için arama izni reddedilmiş. (Ayrıca path_resolution(7) sayfasına bakın.)
EACCES, EPERM
Kullanıcı, soket için yayın bayrağını etkinleştirmeden yayın adresine bağlanmaya çalışmış ya da yerel
güvenlik duvarı kuralı yüzünden bağlantı isteği başarılı olmamış.
SElinux protokolü bağlantıyı reddederse de EACCES dönebilir (örneğin, HTTP vekilinin sadece HTTP
sunucularıyla birleştirilmiş portlara bağlanabileceğine dair bir protokol varsa, ve vekil başka bir
porta bağlanmaya çalıştıysa).
EADDRINUSE
Yerel adres kullanımda.
EADDRNOTAVAIL
(İ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.
EAFNOSUPPORT
Belirtilen adresin sa_family alanındaki adres ailesi doğru değil.
EAGAIN
Engellemesiz UNIX alan soketler için, soket engellemesiz ve bağlantı hemen tamamlanamıyor. Diğer
soket aileleri için, yönledirme önbelleğinde yeterli girdi yok.
EALREADY
Soket engellemesiz ve bir önceki bağlantı girişimi tamamlanamamış.
EBADF
Belirtilen sockfd uygun bir açık dosya tanıtıcısı değil.
ECONNREFUSED
Aktarım soketi üzerinde connect(), dinleme yapmayan bir adrese yapılmış.
EFAULT
Soket adres yapısı, kullanıcı adres uzayının dışında.
EINPROGRESS
Soket engellemesiz ve bağlantı hemen tamamlanamıyor. (Başarısız UNIX alan soketleri bunun yerine
EAGAIN ile döner.) select(2) veya poll(2) ile soketi yazmak için seçerek bağlantıyı tamamlamak
mümkündür. select(2) yazılabilirliği gösterdikten sonra, getsockopt(2) kullanarak SOL_SOCKET
seviyesinde SO_ERROR ayarını okuyup connect()’in başarılı olduğu (SO_ERROR sıfır olur) veya olmadığı
(SO_ERROR burada listelenen bir hata kodu olur ve hatanın sebebini açıklar) belirlenir.
EINTR
Sistem çağrısı bir sinyal ile kesilmiş; signal(7) sayfasına bakın.
EISCONN
Soket zaten bağlı.
ENETUNREACH
Ağa ulaşılamıyor.
ENOTSOCK
Belirtilen sockfd’nin bir soketle ilgisi yok.
EPROTOTYPE
Soket türü istenilen iletişim protokolünü desteklemiyor. Bu hata, örneğin UNIX alan veri soketini
aktarım soketine bağlamaya çalışıldığında oluşabilir.
ETIMEDOUT
Bağlama girişimi sırasında zaman aşımı. Sunucu yeni bağlantıları kabul edemeyecek kadar yoğun
olabilir. Sunucuda eşzamanlı çerezler etkinleştirildiğinde IP soketleri için zaman aşımı çok uzun
olabilir.
UYUMLULUK
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (connect() ilk defa 4.2BSD ile ortaya çıktı).
NOTLAR
POSIX.1’de, <sys/types.h> dahil edilmeyi gerektirmez ve yine bu başlık dosyası Linux’da da gerekmez.
Fakat bazı tarihsel (BSD) uygulamalardan ötürü bu başlık dosyasının olması gerekir ve uygulamaların
taşınabilirliği için dahil edilmesi akıllıca olacaktır.
socklen_t’nin arka planı için accept(2) sayfasına bakın.
Eğer connect() başarılı olmazsa, soketin durumu belirtilmemiş olarak kabul edilir. Taşınabilir
uygulamalar tekrar bağlanmak için soketi kapatmalı ve yeni bir tane oluşturmalıdır.
ÖRNEKLER
connect()’in örnek kullanımı getaddrinfo(3) sayfasında verilmiştir.
İLGİLİ BELGELER
accept(2), bind(2), getsockname(2), listen(2), socket(2), path_resolution(7), selinux(8)
Ç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 11 Nisan 2020 CONNECT(2)