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 (bo to jedyne źródła jakie znalazłem, prócz nmapa) do mnie "nie przemawia" .

Proszę o pomoc i dziekuję .

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

Michał [email protected]