ograniczenie ilosci uzytkownikow

0

Witam, jesli temat byl juz na forum prosze napisac :>'bylo' i bede szukal dalej.

Mianowicie, program sieciowy, ludzie sie do niego loguja i wszystko ok ale jak moge zrobic ogranicznie ilosci uzytkownikow do np. max 15 jednoczesnie. tak zeby ten 16 juz nie wszedl.
Dzieki za pomoc

0

Zalezy na jakim komponencie to robisz...

najprosciej (tak teoretycznie)..jest indeksowac polaczenia poprzez przydzielanie im numerków :-) i np jezeli kolejne polaczenie dostalo numerek 15 (serwer taki przydzielil) to juz finito i nastepny nie wejdzie

0

ok. dzieki. dziala.
a mozna jeszcze dorzucic cos co by pamietalo komputer | user, ktory chcial sie zalogowac i jak sie zwolni miejsce to wyslac mu info ze juz mozna sie zalogowac (acha no i zeby np. przez piec minut wstrzymywal miejsce tylko dla tego uztkownika)?

0

Można... Ale w takiej sytuacji trzebaby przyjąć to 16 połączenie, zapisać do jakiejś tablicy dynamicznej (najprościej TStringList) adres clienta, a następnie go odłączyć.
Potem, jak się zwolni połączenie, to odczytać pierwszy z kolejności adres, wysłać mu info o tym, że już może się połączyć (w tym celu w serwerze trza by walnąć ClientSocket, a u clienta ServerSocket tylko do odbierania takiej wiadomości), na Serwerze walnąć Timera, ustawić, żeby czekał np. 5 min = 300000 ms i potem udostępnić to połączenie na zwykłej zasadzie (dla wszystkich clientów, którzy chcą się połączyć), albo w innej wersji dla kolejnego klienta z listy...
Nie podam kodu, bo to by trzeba było pomyśleć, jak to zorganizować, a piszę bez sprawdzania w delphi (napisanie takiego kodu z pamięci, to byłoby trudne ;p)
P.S. Pewne szczegóły zależą od wersji Delphi...

0

A jak zrobić zmienną?? Pytania są na takim poziomi... Dziękujemy

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