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