Einzelnen Beitrag anzeigen

famnig

Registriert seit: 10. Jan 2006
Ort: Eschwege
3 Beiträge
 
Delphi 2005 Personal
 
#1

Netzwerk scannen mit Socket nicht möglich

  Alt 7. Apr 2007, 13:36
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.
  Mit Zitat antworten Zitat