[BCB] ServerSocket - jak wykryć który klient się odłąc

0

Witam szanownych forumowiczów :).

Mam pytanie jak w temacie:
W programie do komunikacji sieciowej jest jeden serwer-rodzic (kontrolka ServerSocket) i kilka klientów-dzieci (kontrolka ClientSocket). Klienci podłączają się do serwera, program serwera wypisuje listę adresów IP wszystkich podłączonych klientów.

Teraz: jeden z klientów się odłącza. Jak wykryć kto się odłączył aby usunąć jego IP z listy?

Do tworzenie listy podłączonych klientów korzystam z właściwości ServerSocket->Socket->Connections[x]->RemoteAddress, gdzie 'x'to numer połączenia. Najchętniej bym widział sposób właśnie na ustalenie które połączenie 'x' zostało zakończone.

Z góry dziękuję za odpowiedzi :)

0

Programuje w delphi, ale komponenty chyba sa te same. W zdarzeniu Servera onClientRead mam umiescilbym procedure ktora mieli komende od klienta, np kiedy klient sie odlacza wysyla komende i wtedy server wyrzuca go z listy. Nie wiem co to za program, co on robi i czy oto chodzi. [???]

0

Programuje w delphi, ale komponenty chyba sa te same. W zdarzeniu Servera onClientRead mam umiescilbym procedure ktora mieli komende od klienta, np kiedy klient sie odlacza wysyla komende i wtedy server wyrzuca go z listy. Nie wiem co to za program, co on robi i czy oto chodzi. [???]

Tak, chodzi właśnie o to, tylko...
Pomysł wysyłania komunikatu przez klienta w momencie rozłączania nie zda egazminu jeżeli program klienta zostanie "gwałtownie" rozłączony - np. komp się zawiesi albo przypadkiem wyłączy się zasilanie komputerowi na którym pracuje klient.

0

Istnieje zdarzenie onClientDisconnect :), ktore moze spowodawac odswiezenie listy.

0

Istnieje zdarzenie onClientDisconnect :), ktore moze spowodawac odswiezenie listy.

Niestety, lista była tworzona tak:
w zdarzeniu serwera onClientConnect dodawałem do tabelki adres IP klienta (ServerSocket->Socket->Connextions[ActiveConnections - 1]->RemoteAddress czy jakoś tak).
Odświeżenie listy nie pomoże :(
Chyba że za każdym razem sprawdzę czy dany klient jest jeszcze na liście...

0

jesli cos zalapiesz to odpowiedz jest tam:
http://4programmers.net/Forum/viewtopic.php?id=61500

0

jesli cos zalapiesz to odpowiedz jest tam:
http://4programmers.net/Forum/viewtopic.php?id=61500

Taaa... To wydaje sie to czego szukalem.
Dzieki!

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