Oprogramować protokół

0

Witam,

Od czego zacząć, jeśli chce się oprogramować jakiś istniejący już protokół (poza wybraniem go i przeczytaniem dokumentacji)? Jak to się robi? :)
Np żeby w jakiejś aplikacji użyć protokół FTP, czy protokół GaduGadu?

0

No jeśli masz napisane w protokole, że żeby sie zalogować musisz wysłać pakiet:

LOGIN nick ::: password

No to łączysz się przez gniazdko i wysyłasz stringa w tej formie. Poczytaj w google o połączeniu z innym serwerem.

0

Rozumiem że chcesz zaprogramować klienta (skoro piszesz o GG).
Jak napisać klienta to zależy od konkretnego protokołu. Musisz odpowiedzieć np. na pytania:

  1. Jak ma wyglądać wymiana informacji przez dany protokół
  2. Czy protokół jest stanowy/bezstanowy
  3. Jak obsługiwać sesje (o ile sesja po stronie serwera jest w ogóle obsługiwana)
  4. W jakiej warstwie modelu ISO/OSI znajduje się protokół (jeżeli chodzi o GG i FTP to warstwa aplikacyjna) oraz zazwyczaj trzeba uwzględnić w projektowaniu jakie są niższe warstwy w stosie protokołu (np. czy transport idzie po TCP czy UDP).
  5. Jak wygląda obsługa błędów przez protokół (np. czy można robić retransmisję w przypadku timeoutu).
  6. Czy klient ma być wielowątkowy czy ma działać w jednym wątku.
  7. Czy stosować blokujące IO czy nieblokujące.

Przydatne wzorce projektowe to

  1. State Pattern do przechowywania stanu w jakim aktualnie się znajdujemy przy wymianie informacji
  2. Observer - np. do powiadamiania odpowiednich listenetów czy przyszła odpowiedź
  3. coś tam by się jeszcze znalazło jak pula połączeń ;)
0

Wszystko zależy jaki protokół implementujesz :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1