DejaVu |
» 2010-06-08 11:59:53 |
|
ison Temat założony przez niniejszego użytkownika |
» 2010-06-08 15:46:20 nie wiem co to jest komunikacja TCP ale ja już mam wszystko napisane. Polega na tym że na komputerze stawiamy server i w zależności od ilości klientów uruchamia on inny program który obsługuje danego klienta. Wszystkie clienty najpierw łączą się z master serverem ze znanym portem, i potem dostają odpowiedź o wolnym porcie na którym mogą przesyłać dane. Problem leży w tym że połączyć się z master serverem nie moze więcej niż 1 osoba gdyż dany port jest już zajęty. Ważne: NIE chodzi mi o łączenie NARAZ na jednym porcie kilku osób tylko o to abym po połączeniu z klientem numer 1 mógł zamknąć tego clienta i nasłuchiwać innego na tym samym porcie. tutaj obrazek przedstawiający działanie: http://img514.imageshack.us/img514/2293/serverk.jpgale dziękuję za link, poczytam może rozwiążę ten problem w prostszy sposób (chociaż zwalnianie portu bez zamykania programu by mi się i tak przydało) |
|
DejaVu |
» 2010-06-09 00:18:03 Żadna aplikacja nie otwiera N portów bo architekt miał taką wizję. Na jednym porcie można przyjmować K klientów więc po co otwierać ich więcej niż jest to konieczne? Szanuj zasoby komputera i wykorzystuj technologię którą masz do dyspozycji w 100%, a nie prowizorycznie.
/edit: Innymi słowy: zanim zaczniesz twierdzić, że czegoś się nie da - zapoznaj się dobrze z tematem.
/edit2: A jeśli uważasz się za dobrego programistę to odpowiedz sobie na pytanie czy jesteś w stanie napisać system operacyjny - jeżeli nie to pomyśl sobie: ktoś to zrobił, więc głupi nie był i z pewnością miał większą wiedzę niż Ty.
Architektem aplikacji czy też biblioteki nie zostaje byle kto... ja nie jestem żadnym architektem choć chciałbym być i pewnie by ten cel osiągnąć prędzej założę własną działalność gospodarczą aniżeli uda mi się zdobyć takie stanowisko w firmie, bo życie to jeden wielki układ i jedyne czego firmy szukają to taniej siły roboczej, a stanowiska kierownicze są obsadzone zapewne przez znajomych lub takich co siedzieli XX lat w firmie. |
|
ison Temat założony przez niniejszego użytkownika |
» 2010-06-09 07:08:44 ale czy ja gdziekolwiek napisałem że znam się lepiej od programistów microsoftu? :p czy ja gdziekolwiek napisałem że nie da się na jednym porcie łączyć z kilkoma klientami naraz? Mi chodzi tylko o to że metodą bind nie da się połączyć z więcej niż 1 klientem na tym samym porcie, a nie że w ogóle się nie da. I to jest fakt. Nie mówię że to jest źle. Zwyczajnie chciałem się tylko zapytać czy jest możliwe tą metodą da się tak zrobić. Wcale nie piszę że znam się lepiej i nie oskarżam architektów. Zdaje sobie sprawę że są inne metody aby osiągnąć ten cel. |
|
DejaVu |
» 2010-06-09 11:05:03 |
|
ison Temat założony przez niniejszego użytkownika |
» 2010-06-09 15:28:58 problem leży po tej stronie że nadal chyba pan nie rozumie o co mi chodzi 1) metoda w sensie że w języku polskim a nie informatycznym, np. metoda zjedzenia kurczaka 2) pisałem już milion razy, ja NIE CHCE przyjmować K klientów w tym samym momencie. Ja chcę stworzyć socket przyjącć klienta i wywalić CAŁKOWICIE całkiem całkiem całkiem bez zamykania programu żeby nie zajmował portu. gdyż funkcja closesocket nie odblokowuje portu. 3) dziękuję za link, jednak wolałbym gdybym mógł zobaczyć gotowy kod servera z porozumiewaniem się z kilkoma klientami ;) (oczywiście jeśli istnieje taka możliwość) |
|
DejaVu |
» 2010-06-09 16:15:47 To Ty nie rozumiesz zagadnienia komunikacji serwer/klient. Port się otwiera i pozostaje otwarty. Na nim klient się łączy i przesyła dane. Komunikacja może nastąpić tylko gdy port jest otwarty i zbindowany do gniazda. Dałem Ci już przykład do serwera obsługującego K klientów na jednym porcie. Tych K klientów nie trzeba obsługiwać jednocześnie - oni mogą się pojawiać z czasem i każdego klienta można z osobna rozłączać. |
|
ison Temat założony przez niniejszego użytkownika |
» 2010-06-09 16:21:36 To Ty nie rozumiesz zagadnienia komunikacji serwer/klient. Port się otwiera i pozostaje otwarty. Na nim klient się łączy i przesyła dane.
czyli wg pana po zamknięciu programu który ma zbindowany socket na porcie X, ten port jest cały czas zajęty? Komunikacja może nastąpić tylko gdy port jest otwarty i zbindowany do gniazda.
a czy ja gdziekolwiek napisałem że tak nie jest? |
|
1 2 3 « 4 » 5 6 |