Autor Wątek: Co wybrać: java.net vs java.nio  (Przeczytany 1210 razy)

Offline ASTROMAG

  • Użytkownik

# Czerwiec 03, 2010, 16:32:47
Witam,
Zastanawiam się nad napisaniem aplikacji (gry MMO) w Javie typu klient-serwer. Chciałbym się was poradzić jakie podejście zastosować do komunikacji sieciowej przy pisaniu serwera.

1.Zastosować standardowe strumienie + pula wątków.
2.Czy może Nio.

Komunikację mam zamiar zabezpieczyć protokołem SSL.

Z tego co wyczytałem to wiele osób zachwala „Nio”, ale ja osobiście nie jestem do tego przekonany. Niedawno napisałem małą aplikację która miała na celu ( między innymi) zapis na HDD dużej ilości danych generowanych przez siebie. I według testów standardowe strumienie radziły sobie znacznie lepiej przy zapisie danych niż Nio.

Co wy byście mi poradzili??

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline JCoder

  • Użytkownik

# Czerwiec 04, 2010, 14:19:10
Zależy, czy przewidujesz długie połączenia do aplikacji czy nie. Jeśli masa krótkich połączeń (na jeden krótki request), to standardowe, blokujące podejście + pula wątków będzie lepsze. Nio jest świetne, jeśli chcesz obsługiwać dużo "wiszących" połączeń równocześnie (>1000). W modelu 1 wątek = 1 połączenie musiałbyś mieć bardzo dużą pulę wątków i na maszynie 32-bitowej mogłoby nie starczyć przestrzeni adresowej na stosy. No i schedulery systemów operacyjnych też raczej nie są pisane z myślą o obsłudze tysięcy wątków.