Miesiąc: Maj 2011

Aplikacja Klient-Serwer TCP

I. Uzgadnianie stopniowe SERWER 
serwer wywołuje funkcję:

  •  socket stworzenie gniazda,
  •  bind dowiązanie do niego adresu protokołu (na który składa się adres IP oraz numer portu),
  •  listen (otwarcie bierne)  nasłuchiwanie w celu przyjęcia nadchodzących połączeń

II. Uzgadnianie stopniowe  KLIENT

  • Klient rozpoczyna otwarcie aktywne (ang. active open) połączenia, wywołując funkcję connect. To powoduje, że oprogramowanie TCP klienta wysyła segment danych  
  • wysłanie przez oprogramowanie TCP segmentu SYN (skrót od ang. synchronize), który zawiera początkowy numer kolejny danych jakie będą wysyłane przez klienta oraz odpowiednie nagłówki   

 III. Uzgadnianie stopniowe SERWER
serwer wysyła swój własny segment SYN, zawierający podobnie jak u klienta, jego początkowy numer kolejny danych, jakie będzie wysyłał, oraz potwierdzenie ACK (skrót od ang. acknowledgment), które jest potwierdzeniem otrzymania segmentu SYN od klienta   

IV. Uzgadnianie stopniowe  KLIENT  

Klient musi potwierdzić przyjęcie segmentu SYN od serwera   

Funkcja socket jest odpowiednikiem otrzymania własnego numeru telefonu. Funkcję bind można porównać do poinformowania innych ludzi o naszym numerze telefonu, pod który mogą oni zadzwonić. Funkcja listen odpowiada włączeniu się sygnału dźwiękowego, który słyszymy, gdy ktoś do nas dzwoni.   

  Dla porównania serwer UDP, który jest łatwiejszy ale nie mamy pewności czy pakiety zostały poprawnie wysłane.