Jak zrobic tablice watkow ?

0

Tak jak w temacie usiluje napisac gre w postaci klient--serwer--klient robie to na wielowatkowosci komunikacja od klienta do serwera dziala ale nie wiem jak przekazac cos od klienta poprzez serwer do drugiego klienta wiem ze trzeba zrobic tablice watkow niestety nie mam pojecia jak czy ktos moglby mi pomóc :-( [???]

0

hWitam
Nie potrzeba Ci tablicy wątków, tylko tablicy socketów każdego klienta.
Stwóż HashTabla na serwerze i przy każdym połaczeniu klienta do serwera wrzucaj do HashTabla socketa i unikalny id, gdzie id bedzie tym co identyfikuje każdego klienta. Z tak utworzonej mapy możesz wyciągnąć socketa na którym jest podłaczony klient i po uzyskaniu strumieni z socketa pisać i czytać z niego.
Cała komunikacja wyglądała by mniej wiecej.
Klient A chce przeslać wiadomość do klienta B
klient A wysyła komunikat zaadresowany do klienta B na server
server przyjmuje requesta i z mapy szuka socketa klienta B
jesli znajduje socketa uzyskuje strumienie z niego i przekazuje wiadomość klienta A do strumienia
jesli nie znajuduje zwraca wiadomość klientowi A, że klienta B nie znalazł

Pozdrawiam
BookaYashee

0

wątki czy sockety to są obiekty tak samo jak String czy Integer i tablice deklaruje się tak samo, każdy powinien umieć zrobić tablice tych obiektów jak już się zabiera za pisanie serwera. Jesteś pewien że lepiej trzymać sockety w tablicy? ja zawsze trzymałem sockety w wątakach a wątki w tablicy :P i serwer wydawał rozkazy wątkom a nie pisał po socketach - podejście chyba troche bardziej obiektowe.

0
nicka napisał(a)

ja zawsze trzymałem sockety w wątakach a wątki w tablicy ...
podejście chyba troche bardziej obiektowe.

Bardzo trafna uwaga. Ja dodam od siebie, że wątki należy trzymać np w HashMapie, a nie w tablicy, której rozmiar jest z góry ustalony.

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