Witam,
Właśnie zajmuję się pisaniem klasy, która ma mi posłużyć do obsługi komunikacji typu TCP i UDP(ew. Mysql w przyszłości). I teraz mam pytanie: jak zrobić wewnętrzną obsługę dla większej ilości klientów ?
Najsampierw chciałbym opisać jak ja to widzę :
Tworzę dynamiczne tablice (ArrayList) dla klas Socket ,BufferedReader, PrintWriter. I w momencie gdy otwieram połączenie server.accept() to tworzę także nowe pola w tablicach.
clients.add(server.accept());
outtab.add(new PrintWriter(clients.get(0).getOutputStream());
intab.add(new BufferedReader(new InputStreamReader(clients.get(0).getInputStream())));
I potem gdybym chciał wysłać wiadomość do klienta 1 to stworzyłbym parametryczną metodę gdzie podaje do którego chcę wysłać. Oczywiście byłaby też druga do wysyłania do każdego klienta przez pętelkę.
Czy to jest dobre wyjście, czy jest też może inne ?
PS. Niniejszy post odnosi się tylko do obsługi TCP.