Dzień dobry,
Rozbudowuję swój amatorski program o synchronizację danych opartą o mój własny serwer tcp w sieci lokalnej. Korzystam z komponentów synapse (multiplatformowe i proste).
Kiedy tworzę wątek nasłuchujący wszystko odbywa się super. Serwer kolejkuje nadchodzące połączenia, przesył danych jest niewielki( sieć do 20 komputerów przesyłają stringi z wierszami tabel i komórek). Więc czas oczekiwania klientów jest stosunkowo krótki.
Jednak chciałem rozwinąć serwer o możliwość jednoczesnego łączenia się z kilkoma klientami bo pracujemy nad przesyłem większej ilości danych.
Próbowałem uruchamiać nowe instancje wątku nasłuchującego, jednak wtedy kolejne wątki nie odbierają połączeń tak jak ten pierwszy.
Myślałem żeby port komunikacyjny przekazywał krótką informację o innych dostępnych wolnych portach i tam kierować jednoczesny ruch, uruchamiając kolejne instancje wątków ale z innymi portami. Może tak komponenty synapse sobie poradzą?(mac os i windows).
A może potrafią jednak obsłużyć wielu klientów na jednym porcie? Uruchamianie kolejnych instancji serwera gdy na poprzedniej trwa komunikacja wywołuje błąd i zatrzymanie komunikacji aż do ponownego uruchomienia całego programu.
Pozdrawiam
Krzysztof