Bu iki işlev veri akış soketler veya bağlantılı veri paketi soketleri
      üzerinden veri göndermenizi ve veri almanızı sağlar. Eğer istediğiniz
      düzenli ve bağlantısız veri paketi soketleri kullanmak ise o zaman
      
sendto() ve
      recvfrom() işlevleri ile ilgili
      aşağıdaki bölümü okumalısınız.
    
      send() işlevi şu şekilde çağrılır:
    
int send(int sockfd, const void *msg, int len, int flags); 
      sockfd üzerinden veri göndereceğiniz sokettir
      (size socket() veya accept()
      tarafından sağlanmış olabilir). msg göndermek
      istediğiniz mesajı gösteren bir göstergedir ve len
      değişkeni bu verinin byte cinsinden uzunluğudur. flags
      parametresini 0 olarak bırakabilirsiniz.
      (Bu parametre ile ilgili ayrıntılı bilgi için bkz.
      send() man sayfası.)
    
Örnek bir kod parçası vermek gerekirse:
char *msg = "Beej buradaydi!";
int len, bytes_sent;
.
.
len = strlen(msg);
bytes_sent = send(sockfd, msg, len, 0);
.
.
. 
      send() değer olarak gönderilen bayt miktarını
      döndürür -- bu sizin gönderilmesini istediğiniz miktardan az olabilir!
      Gördüğünüz gibi siz ona bir yığın veri göndermesini söylersiniz ancak
      o bazen bunun tamamı ile başa çıkamayabilir. Elinden geldiği kadarını
      gönderir ve geriye kalan veriyi yeniden göndermek sizin
      sorumluluğunuzdadır. Unutmayın, eğer send()
      işlevinin döndürdüğü değer len değişkenindeki
      değer kadar değilse göndermek istediğiniz verinin geriye kalanını
      göndermek sizin işinizdir. İyi haberlere gelince: Eğer paket küçükse
      (1k civarı) bu işlev büyük ihtimalle tüm veriyi bir seferde
      gönderebilecektir. Her zamanki gibi hata durumunda -1
      değerini döndürür ve errno küresel değişkenine
      hata kodunu yazar.
    
      recv() işlevi da pek çok bakımdan yukarıdaki işleve
      benzer:
    
int recv(int sockfd, void *buf, int len, unsigned int flags); 
      sockfd üzerinden okuma işlemini
      gerçekleştireceğiniz sokettir, buf okunan verinin
      yazılacağı bellek bölgesinin başlangıç adresini gösteren göstergedir,
      len ise verinin yazılacağı tamponun (buffer)
      azami boyudur ve flags yine 0
      değerini alabilir (Ayrıntılı bilgi için recv()
      man sayfasına bakınız).
    
      recv() okunduktan sonra tampona yazılan bayt miktarını
      döndürür ya da eğer bir hata oluştu ise -1 değerini
      döndürüp errno değişkeninini değerini belirler.
    
      Bir dakika! recv() 0 değerini
      döndürebilir! Bunun tek bir anlamı vardır: karşı taraf bağlantıyı
      kesmiş! Döndürülen değerin 0 olması
      recv() işlevinin size "karşı taraf bağlantıyı
      kesti" mesajını vermesi demektir.
    
      Bütün bunları anlamak kolaydı değil mi? Artık verilerinizi soketler
      üzerinden yollayıp alabilirsiniz! Vay be! Artık siz bir Unix Ağ
      Programlama Uzmanısınız!