Man page - connect(2)

Packages contains this manual

Available languages:

en fr es pl tr ja ru ro de

Manual

CONNECT

İSİM
BİLDİRİM
AÇIKLAMA
DÖNÜŞ DEĞERİ
HATALAR
UYUMLULUK
NOTLAR
ÖRNEKLER
İLGİLİ BELGELER
ÇEVİREN

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