Hallo!
Ich brauch mal eure Hilfe.
Ich versuche gerade ein Programm zu programmieren, welches ein Netzwerk nach einem anderen Programm scannt, welches dort als Host aktiv ist. Wenn es nun unter einer
IP das Programm findet, soll es einen Vermerk in eine ListBox machen und weiter suchen, bis er bei 255 angelangt ist. Das suchende Programm ist der Client.
Bis jetzt hab ich folgendes zusammen:
Code:
procedure TForm21.Button1Click(Sender: TObject);
begin
i:=1;
Clientsocket1.Active:=false;
Clientsocket1.Host:='192.168.0.'+inttostr(i);
Label2.Caption:='192.168.0.'+inttostr(i); //Anzeige der aktuellen
IP
Clientsocket1.Active:=true;
Clientsocket1.open;
end;
procedure TForm21.hinzu(Sender: TObject; Socket: TCustomWinSocket);
begin
Clientsocket1.Close;
ListBox1.Items.Add('OK 192.168.0.'+inttostr(i));
i:=i+1;
Clientsocket1.Active:=false;
Clientsocket1.Host:='192.168.0.'+inttostr(i);
Label2.Caption:='192.168.0.'+inttostr(i);
Clientsocket1.open;
end;
procedure TForm21.Fehler(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
if Errorcode=10049 then begin
Clientsocket1.Close;
ListBox1.Items.Add('XX 192.168.0.'+inttostr(i));
i:=i+1;
Clientsocket1.Active:=false;
Clientsocket1.Host:='192.168.0.'+inttostr(i);
Label2.Caption:='192.168.0.'+inttostr(i);
Clientsocket1.open;
end;
Errorcode:=0;
end;
Bei Button1.Click wird gestartet, bei hinzu fügt er der Listbox ein OK hinzu mit
IP, bei Fehler ein XX mit
IP.
Leider hört er gleich am Anfang auf zu suchen. Wenn ich im
localhost Adressbereich suche (127.0.0.*) gibt er mir einheitlich XX aus, obwohl ja die erste aktiv ist.
Ich hoffe mir kann jemand helfen. Bin am verzweifeln.