Bir Bağlantının Oluşturulması
Önceki Soketlerin Bağlantılarla Kullanılması Sonraki
Bir Bağlantının Oluşturulması
Bir bağlantının kurulmasında, sunucu bağlantı için beklerken istemci bağlanır ve sunucu kabul eder. Burada bizim tartıştığımız şey istemci yazılımın sys/socket.h içinde tanımlı connect işleviyle ne yapması gerektiğidir.
int connect
(int              soket,
 struct sockaddr *adres,
 socklen_t        uzunluk)
işlev
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.
Önceki Üst Ana Başlık Sonraki
Soketlerin Bağlantılarla Kullanılması Başlangıç Bağlantıların Dinlenmesi
Bir Linux Kitaplığı Sayfası