Einzelnen Beitrag anzeigen

ZelltoD

Registriert seit: 1. Jul 2008
40 Beiträge
 
RAD-Studio 2009 Arc
 
#1

TClientSocket - Netzwerk nach Servern durchsuchen

  Alt 2. Jul 2008, 19:09
Hallo erstmal.
Ich hab heute mal an einem kleinen Netzwerk-Chat angefangen, welcher, realisiert mit TClientSocket und TServerSocket realisiert, bisher einwandfrei läuft.
Jetzt hab ich aber folgende Probleme: Um die Sache noch ein bisschen auszubauen hab ich mich an eine Suchfunktion herangewagt die einen bestimmten, vorher definierbaren Bereich des Lokalen Netzwerkes nach Servern durchsucht.
Nach einigen Stunden herumprobiererei komme ich mal wieder nicht weiter .

Da ich ja nicht in allen möglichen, fremden Netzwerken suchen möchte, hab ich ersteinmal angefangen, die eigene IP in Blöcke aufzuteilen.

Delphi-Quellcode:
repeat //String aufdröseln und sortieren beginn
   p:=p+1;
 IF IP[p]='.'  then p1:=p1+1 //"IP" ist die eigene IP als string
 
 else
begin //of else
case p1 of
 1: res1:=res1+IPll[p] ; //1. Block
 2: res2:=res2+IPll[p] ; //2. Block
 3: res3:=res3+IPll[p] ; //3. Block
 4: res4:=res4+IPll[p] ; //4. Block
      end; //of case

end; //of else
 until IP[p]='';
end;
end.
Danach werden, in Bereichen die später über Eingabemöglichkeiten bestimmt werden sollen, diese Blöcke einzeln verändert um danach verschiedene Ports nach Servern abzusuchen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var i,j,k,b3,b4,prt:integer; hst:string; //b3 und b4 sind Block 3 und 4 der IP
 begin
 b3:=-1;
   b4:=-1;
     prt:=0; //prt = Port
 for i := 0 to 3 do begin//of for1
  b3:=b3+1;
    b4:=90;
   for j := 0 to 40 do begin//of for2
     b4:=b4+1;
       prt:=0;
      for k := 0 to 10 do begin//of for3
        prt:=prt+1;

///////////////////////////////////////// PROBLEM
Falls an der Adresse ein Server gefunden wird soll die entsprechende IP dann in eine Liste übertragen werden.
Mein Problem liegt nun darin, dass ich nicht weis wie ich, falls ich ein Server gefunden wurde, den Client dazu bringe diesen anzupingen und die Verbindung gleich darauf wieder zu beenden um die Suche fortzusetzen.

Und wäre es möglich mit der IP die Anzahl der schon verbundenen Clients am Server festzustellen?

Ich hoffe ihr könnt mir helfen

mfg ZelltoD
  Mit Zitat antworten Zitat