Znowu(!) chat

0

Witam wszystkich, chcę napisać chat, podstawowe założenia:

  • serwer i klienci w Javie SE
  • obsługa około 1000 klientów jednocześnie (w kilku chat room-ach)

i pytanie, jak się do tego zabrać. Do tej pory pisałem sobie w ramach ćwiczeń małe chaty - na klika osób, działało to tak, że serwer w głównym wątku oczekiwał na podłączenie klienta, po akceptacji klienta tworzył do jego obsługi nowy wątek. Wysyłanie wiadomości od jednego klienta do pozostałych odbywało się w pętli po wszystkich podłączonych klientach - ale to było 3-4 klientów.
Czego użyć do napisania "prawdziwego", dużego czata na 1000 klientów ??? Czy utworzenie 1000 wątków to dobry pomysł (chyba nie).

Znalazłem trochę informacji o Java NIO - czy to może się mi przydać, jeśli tak to do czego ?

Proszę o wyrozumiałość, jeśli zadałem banalne pytania, ale ja się dopiero uczę.

Pozdrawiam
Adam

M4
  • Rejestracja:około 13 lat
  • Ostatnio:prawie 13 lat
  • Postów:23
0

NIO chyba bardziej stosuje się w aplikacjach typu "pytanie odpowiedź" czyli np serwer HTTP. Ja bym zastosował wątki, 1000 to wcale nie jest aż tak strasznie dużo.

RE
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około rok
0

1000 wątków na aplikację to jest dużo... ale jednak, alternatywa (asynchroniczne IO) też nie jest idealna.

http://www.mailinator.com/tymaPaulMultithreaded.pdf

edytowany 1x, ostatnio: Rev
0

Ok, dzięki za odpowiedzi.

Jeszcze jedno pytanie - jak, wg. Was, powinien być napisany taki chat serwer, z czego skorzystać ?

Pozdrawiam

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.