JAVA - Zajęcia projektowe - etap 4
W kolejnym etapie proszę o przesłanie implementacji komunikacji pomiędzy klientem, a serwerem z wykorzystaniem socketów.
Do 30 Maja należy przesłać kod przedstawiający:
- serwer (utworzenie socketa serwera, nawiązanie połączenia z klientem, utworzenie nowego wątku komunikacji)
- osbługę połączenia z klientem w osobnym wątku (odebranie i wysłanie komunikatu do klienta)
- klienta (nawiązanie połączenia z serwerem, wysłanie i odebranie komunikatu)
- format komunikatu (klasę lub tekst z kodem operacji/treścią wiadomości)
Należy pamiętać, że tworząc połączenie, tworzymy kanał komunikacyjny, w którym należy określić format komunikatów zrozumiały dla obu stron. Oznacza to, że zarówno klient, jak i serwer muszą wiedzieć w jakiej formie dostają komunikaty i jak mają na nie zareagować. Istotna jest również sekwensja operacji. Przykładowo:
client -> kod operacji -> serwer
client -> dane -> serwer
serwer -> wynik przetwarzania -> clienta
Kod operacji i dane mogą być przesłane w postaci tekstowej, np. oddzielone separatorem, a następnie zdekodowane po stronie serwera. Jednak, możemy użyć strumieni, które pozwalają na zapis i odczyt obiektów. Wykorzystując kod operacji (lub klasę reprezentującą operację), serwer wie w jakiej postaci przyjdą dane i na jaką klasę powinien rzutować.
Więcej na temat socketów można przeczytać pod adresem: http://www.cs.put.poznan.pl/dwawrzyniak/DPE/jsock.pdf
W piątek planuję konsultacje on-line. Jeżeli ktoś chciałby zapytać o treść zadań lub o projekt, będzie miał taką możliwość. Proszę o przesłanie godzin w jakich moglibyśmy się spotkać.