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

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.

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

0

Ok, dzięki za odpowiedzi.

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

Pozdrawiam

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