ServerSocket

problemy z tworzeniem programów do obsługi sieci, internetu, e-mail itp..

ServerSocket

Postprzez modyy » wtorek, 16 grudnia 2008, 23:12

W jaki sposob odrzucic polaczenie? Chce zrobic cos w stylu ban listy ale nie wiem jak zrobic zeby dane IP nie zostalo polaczone?
Wiem, ze trzeba najpierw sprawdzic czy dane IP moze zostac polaczone itd. ale nie wiem jak zezwolic lub odrzucic polaczenie.
Avatar użytkownika
modyy
 
    NieznanyNieznana

Re: ServerSocket

Postprzez jabu74 - ekspert » czwartek, 18 grudnia 2008, 00:22

Cześć

Wykorzystaj zdarzenie OnClientConnect. Umieść np. takie linijki w obsłudze tego zdarzenia:

Kod: Zaznacz cały
AnsiString adres_klienta;
AnsiString zakazany_klient = "192.168.1.5";

adres_klienta = Socket->RemoteAddress;


Teraz masz już adres klienta, który aktualnie się połączył. Możesz teraz je porównać i gdy taki sam to brutalnie :D zamknąć gniazdo:

Kod: Zaznacz cały
Socket->Close();


Nie próbowałem, ale powinno działać. Tylko nie wiem jak zachowa się serwer gdy wcześniej już kilku jest podłączonych i czy ich też wywali, ale chyba tylko tego banite.

Próbuj i odpisz.

Pozdrawiam
Avatar użytkownika
jabu74 - ekspert
 
    NieznanyNieznana

Re: ServerSocket

Postprzez modyy » czwartek, 18 grudnia 2008, 09:49

Niestety wywala wszystkich ;/
Avatar użytkownika
modyy
 
    NieznanyNieznana

Re: ServerSocket

Postprzez jabu74 - ekspert » czwartek, 18 grudnia 2008, 12:56

A coś takiego próbowałeś ?

Kod: Zaznacz cały
for (int i = 0; i < ServerSocket1->Socket->ActiveConnections; i++)
    if (ServerSocket1->Socket->Connections[i]->RemoteAddress == zakazany_klient)
        ServerSocket1->Socket->Disconnect(i);
Avatar użytkownika
jabu74 - ekspert
 
    NieznanyNieznana

Re: ServerSocket

Postprzez modyy » czwartek, 18 grudnia 2008, 17:35

Działa! ;]
Avatar użytkownika
modyy
 
    NieznanyNieznana

Re: ServerSocket

Postprzez jabu74 - ekspert » czwartek, 18 grudnia 2008, 18:35

ja się cieszyć, że móc pomóc :D
Avatar użytkownika
jabu74 - ekspert
 
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Aplikacje sieciowe

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 0 gości