Diyelim ki bir telnet programısınız. Sizi kullanan kişi (tıpkı
        TRON filminde olduğu gibi) size bir soket
        dosya tanımlayıcısı edinmeniz için komut veriyor. Siz de bu
        komuta uyup socket() işlevini çağırıyorsunuz.
        Sonra, kullanıcı sizden "10.12.110.57" adresine
        ve "23" numaralı porta bağlanmanızı istiyor
        (standart telnet portu). Aha! Şimdi ne yapacaksınız?
      
        Bir program olarak şanslısınız çünkü tam da connect()
        bölümündeyiz -- uzaktaki bir bilgisayara nasıl bağlanırız bölümü.
        Okumaya devam kaybedecek zaman yok, kullanıcı bekliyor!
      
        connect() işlevi şöyle birşeydir:
      
#include <sys/types.h>
#include <sys/socket.h>
int connect(int sockfd, struct sockaddr *serv_addr, int addrlen); 
        sockfd dediğimiz değişken
        socket() sistem çağrısı tarafından döndürülmüş
        olan soket dosya tanımlayıcısının değerini tutar.
        serv_addr ise struct sockaddr
        türünde bir değişkendir ve hedef port ile IP adres bilgilerini
        barındırır. addrlen değişkeni de
        sizeof(struct sockaddr) değerini alırsa iyi olur.
      
        Taşlar yerine oturmaya başladı mı? Hemen bir örneğe göz atalım:
      
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define DEST_IP   "10.12.110.57"
#define DEST_PORT 23
main()
{
    int sockfd;
    struct sockaddr_in dest_addr;             // hedef adres
    sockfd = socket(AF_INET, SOCK_STREAM, 0); // hata denetimi yapın!
    dest_addr.sin_family = AF_INET;          // konak bayt sıralaması
    dest_addr.sin_port = htons(DEST_PORT);   // short, ağ bayt sıralaması
    dest_addr.sin_addr.s_addr = inet_addr(DEST_IP);
    memset(&(dest_addr.sin_zero), '\0', 8);  // yapının geriye kalanını sıfırla
    // connect() işlevini çağırdıktan sonra hata denetimi yap!
    connect(sockfd, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr));
    .
    .
    . 
        Sıkılsanız da söylemek zorundayım: connect()
        işlevinden sonra mutlaka hata denetimi yapın, eğer hata oluştu
        ise bu işlev -1 değerini döndürür ve
        errno değişkenine ilgili hata numarasını
        yerleştirir.
      
        Ayrıca bind() işlevini çağırmadığımıza da
        dikkat edin. Yani kısaca yerel port numarası ile ilgilenmiyoruz;
        bizi ilgilendiren hedef bilgisayar (uzaktaki port). İşletim sistemi
        çekirdeği bizim için bir yerel port bulacaktır ve bağlandığımız
        bilgisayar da bu bilgiyi otomatik olarak bizden öğrenecektir. Siz
        tatlı canınızı üzmeyin.