Cześć :)
Pytania dt. dalszego ciągu komunikatora.
Otoź, na sygnał newConnection() odbieram pakiet od serwera.
Po pierwsze zastanawiam się jak to zoorganizować. Po odebraniu wiadomości przez serwer chcę do nadawcy wysłać potwierdzenie (jakiś mały pakiecik ). W takim razie czy muszę mieć wątek w kliencie ciągle sprawdzający czy socket nic nie wysłał?
Teraz same wątki po stronie serwera.
Najprościej byłoby napisać, że każde nowe połączenie to nowy wątek, który tam już obsługuje połączenie. Po wstępnym rozeznaniu ( rodzaju komunikatu) oddaje robotę innemu wątkowi, który już dalej sobie przetwarza.
Ale spodziewam się, że w ten sposób powstanie dużo wątków i ciągłe przełączanie pomiędzy nimi obniża znacznie wydajność. Wobec tego myślę o tym, żeby mieć listę odaplonych wątków, z których każdy zlicza sobie ile ma do obsługiwania socketów. I przy nowym połączeniu poszukuję takiego wątka, który ma mniej niż określona jakąś tam liczba. To właśnie jemu powierzam klienta.
Dobry pomysł? Jak lepiej?