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

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