Witam!

Próbowałem poruszyć ten temat w dziale Delphi/Pascal, ale brak odzewu ;-| ...

Czy ktoś ma pomysł na skaner IP? Idea, jaką mam jest prosta (może za prosta ;-) ). Na formę wrzucić 4xSpinEdit (nazwy ip1, ip2, ip3, ip4) do których się wpisuje kolejne oktety numeru IP (w dec of course ;-)). Do tego ListBox, 2x Button (btnScan, btnClear), StatusBar (do pokazywania kolejnych IP - na żywca) oraz ClientSocket (zakładka Internet, name=cs). Program "leci" po numerach do wartości (na początek, aby było łatwiej) ip4->Value (ostatni oktet).

Po kliknięciu na btnScan zaczynałaby się pętla (zmienne i - byte oraz adres - string):

[code]
for (i=0;iValue)+"."+adres=IntToStr(ip2->Value)+"."+adres=IntToStr(ip3->Value)+"."+adres=IntToStr(i);
cs->Address=adres;
cs->Port=12345;//na przykład jak NetBus ;-) , ale nie w tym rzecz
cs->Active=True;
//cs->Socket->Connect(cs->Socket->SocketHandle) - nie wiem czy to konieczne
if (cs->Socket->Connected==True)
{
ListBox->Items->Add(cs->Socket->RemoteAddress);
}
else
continue;
}
[/code]

Nie wiem jak oprogramować błąd (coś jak ErrorCode=0) w pętli i z użyciem if else.
Mniej więcej tak ^^^ to wygląda (piszę z pamięci, więc sorry, jeżeli są jakieś niedopatrzenia). Gdy go odpalam w domu (na localhost, serwer chodzi w tle i na 100% działa, odpowiada na sendtext - nie w petli) to zazwyczaj działa, czasem wywala błąd 10038 ("adres niepoprawny w tym kontekście" :-/ ), czasem 10057 ("próbowano przeprowadzić operację na obiekcie nie będącym gniazdem"), ale często dodaje adresy (np.: 127.11.34.0 do 6) !!! 10057, 10057 i jeszcze raz 10057 ;-( !!! W domu używam C++ Buildera 6 pod Windows XP, a na uczelni mam 98SE i XP, ale problem i tak występuje (na obu systemach).

Jak coś sobie przypomnę, to dopiszę, ale chyba to to.

Czy macie może pomysł???? Ja już dostaje pier****a, bo siedzę na tym drugi tydzień [glowa].

[email protected]