Praca inżynierska Aplikacja umożliwiająca wieloosobową rozgrywkę w ruletkę Autor: Mateusz Macięga Promotor: dr Danuta Zboś Zakres pracy
Projekt aplikacji bazującej na architekturze klient-serwer
Stworzenie klienta
Stworzenie serwera
Stworzenie protokołu komunikującego klientów z serwerem 10 grudnia 2013 Mateusz Macięga 2/11 Podstawowe założenia
Aplikacja okienkowa
Implementacja w Javie (bez frameworkow)
TCP
IPv4
Biblioteka NIO (gniazda sieciowe)
Biblioteki Swing i AWT (grafika) 10 grudnia 2013 Mateusz Macięga 3/11 Dlaczego TCP a nie UDP?
Połączeniowy
Niezawodny
Aplikacja nie wymaga dużej szybkości transmisji 10 grudnia 2013 Mateusz Macięga 4/11 I/O kontra New I/O (NIO) I/O New I/O
Zorientowany Zorientowany na strumieniowo bufor
Blokujące I/O Nieblokujące I/O
Selektory 10 grudnia 2013 Mateusz Macięga 5/11 Architektura klient-serwer 10 grudnia 2013 Mateusz Macięga 6/11 Serwer gry
Serwer nasłuchujący
Serwer działający w tym samym procesie co klient gry
Obsługiwany za pomocą zdefiniowanych poleceń 10 grudnia 2013 Mateusz Macięga 7/11 Klient gry 10 grudnia 2013 Mateusz Macięga 8/11 Protokół komunikacyjny
Ogólna budowa pakietów 2B ?B 1B TYP_PAKIETU DANE K 10 grudnia 2013 Mateusz Macięga Literatura
Ron Hitchens, Java NIO , First Edition, O Reilly, 2002