Socket - proste i pilne pytanie

0

Nie mogę tego nigdzie znaleźć na szybko. Czy jeden klient (dane IP) może tworzyć kilka połączeń (Socket) do jednego serwera (ServerSocket) na tym samym porcie w tym samym czasie? Czy nie wywoła to konfliktu albo nie zamuli działania?
Chodzi o sytuację gdy serwera ma udostępniać licznym klientom (odpalanym w nowych watkach na serwerze po powstaniu połączenia Socket) dane liczbowe generowane na bieżąco do tworzenia różnych wykresów. Klient ma być długotrwale połączony przez swój Socket aby aktualizować swój wykres. Problem polega na tym że klient musi mieć możliwość otworzenia kilku wykresów na raz (różne dane do każdego z nich). Najłatwiej dla mnie byłoby gdyby każde wywołanie klienta o wykres tworzyło nowy Socket po jego stronie i w ten sposób jednocześnie nowy Socket po stronie Servera. Wtedy każdy wykres miałby swój Socket i dane z wykresów nie przeplatałby się. Ale czy jest to dopuszczalne???
Bardzo proszę o pilna odpowiedź.

0

Możesz to zrobić przez jedno gniazdo, tylko musisz odpowiednio zaprojektować protokół. Np. w nagłówku będzie na początku liczba 0, to dana wędruje do wykresu 0, jak będzie 1 to do wykresu 1 itd.

0

Tak, wiem, że da radę to zrobić przez jedno gniazdo ale będzie to kosztowało sporo kodu. Bo np. przy dwóch działających wykresach u klienta, gdy zażąda trzeciego to inicjowanie tego trzeciego (ściąganie wszystkich danych z zaległego czasu, bo wykresy mają sięgać wstecz ) zablokuje chwilowo dwa pozostałe wykresy. Rozdzielenie połaczeń byłoby tutaj korzystniejsze - osobne wątki przeplatałby się. Ale czy jest to dopuszczalne? Kilka połączeń od tego samego IP do tego samego serwera? Bo chyba kilka połączeń (Socketów) od jednego klienta do różnych Serwerów na raz jest dopuszczalne? Prawda?

0

Jest dopuszczalne.

0

podbijam

0

Ale przecież dostałeś odpowiedź. Klient może otworzyć wiele połączeń. Serwer może nasłuchiwać na wielu portach. Chociaż moim zdaniem wygodniej byłoby obslugiwać to jednym socketem po stronie serwera mimo wszystko. Albo w ogóle użyć RMI i ułatwić sobie życie...

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