JAVA - Zajęcia projektowe - etap 4

by Grzegorz Pawiński published 2020/05/13 09:21:00 GMT+2, last modified 2020-05-17T23:53:38+02:00

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ć.