Witam!

Moje pytenie jest następujące: Jak napisać skaner IP? Wsadam (piszę teraz z pamięci - kod poniżej of course) ClientSocket, ListBox, 4x SpinEdit (ip1,ip2,ip3,ip4), Button (btnScan). Na btnScanClick(.....) rusza pętla ([code]for i:= 0 to ip3.Value do
begin
for j:=0 to ip4.Value do
begin
//adres - String :), i,j - Byte
ClientSocket.Active:=False;
adres:=IntToStr(ip1.Value)+'.'+IntToStr(ip2.Value)+'.'+IntToStr(i)+'.'+IntToStr(j);
ClientSocket.Address:=adres;
ClientSocket.Port:=(jakis tam);
ClientSocket.Active:=True;
end;
end;[/code]
W zdarzeniu onConnect
[code]ListBox.Items.Add(ClientSocket.Socket.RemoteAddress);
ClientSocket.Active:=False;[/code]
W onError
[code]ErrorCode:=0;[/code] ( zabym wiedzial, ze sie wali ;)
Problem polega na tym, że na moim kompie (po odpaleniu serwera ;) na porcie jakimś tam, dodaje poprawnie (127.costam.iii.jjj) do ListBox'a (nie zawsze wszystkie adresy, możliwe wszystkie), a po odpaleniu na uczelni lub w kafejce wywala komunikat o problemach w socketem (API error(???-coś takiego). Dane porty są otwarte (na 100%).

P.S.: Czasem pomaga dodanie linii (w pętli) ClientSocket.Socket.Connect(ClientSocket.Socket.SocketHandle(lub Handle));

Co z tym zrobić? Może ktoś ma pomysł na napisanie takiego kodu? Skaner w Prosiaku do mnie "nie przemawia" ;).

Proszę o pomoc i dziekuję ;-| .

Delphi6 Enterprise (może być i Personal ;)), C++ Builder 6 PE.

Michał [email protected]