connect işlevi
soket dosya tanımlayıcısına sahip soketten
adres ve
uzunluk argümanları ile adresi belirtilen sokete bir bağlantı başlatır. (Bu soket tipik olarak başka makinededir ve bir sunucu olarak kurulmuş olması gerekir.) Bu argümanların nasıl yorumlandıkları konusunda bilgi için
Soket Adresleri bölümüne bakınız.
Normalde,
connect sunucu isteğe yanıt verene kadar bekler.
connect işlevinin yanıt beklemeden hemen dönmesini sağlamak için
soket soketinde
bloklanmayan kipi seçebilirsiniz.
connect işlevi başarı durumunda 0, başarısızlıkta -1 döndürür. Aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
- EBADF
soket soketi geçerli bir dosya tanımlayıcı değil.
- ENOTSOCK
soket dosya tanımlayıcısı bir soket değil.
- EADDRNOTAVAIL
Belirtilen adres uzaktaki makinede yok.
- EAFNOSUPPORT
adres'in isim alanı bu soket tarafından desteklenmiyor.
- EISCONN
soket soketi zaten bağlı.
- ETIMEDOUT
Bağlantı girişimi zaman aşımına uğradı.
- ECONNREFUSED
Sunucu bağlantı isteğini açıkça reddetti.
- ENETUNREACH
adres ile belirtilen ağa bu konak erişemez.
- EADDRINUSE
adres ile belirtilen soket adresi zaten kullanımda.
- EINPROGRESS
soketsoketi baskılanamayan kipte olduğundan bağlantı hemen kurulamıyor.
select ile bağlantının tam olarak ne zaman kurulabileceğini tespit edebilirsiniz; Bkz.
Girdi ve Çıktının Beklenmesi. Bağlantı tam kurulamadan aynı sokete tekrar bir
connect çağrısı yapılırsa, çağrı
EALREADY hatası ile sonlanır.
- EALREADY
soket soketi baskılanamayan kipte ve askıdaki bağlantısı devam ediyor (üstteki EINPROGRESS'a bakınız).
Bu işlev çok evreli yazılımlar için iptal noktası olarak tanımlanmıştır, bu nedenle ayrılan özkaynakların (bellek, dosya tanımlayıcısı, semafor veya her hangi başka bir kaynak) evre iptal edilse dahi serbest bırakılmasının sağlanması şarttır.