Einzelnen Beitrag anzeigen

Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#4

Re: TClientSocket - Netzwerk nach Servern durchsuchen

  Alt 2. Jul 2008, 21:17
Zu der Sache mit dem Server suchen: Am besten du schaust wie gesagt mal nach Broadcast bzw. Methoden Anfragen an mehr als einen Addressaten zu schicken.

Zu der Sache mit wieviele Clients ein Server hat: Bau in deinen Server eine Variable ein, die festhällt wie viele Clients bei ihm im momentan angemeldet sind, je nach benutzeter Komponente, ist die in der Regel sogar schon automatisch vorhanden. Wenn dein Server vom Client einen bestimmten Statuscode oder String erhällt, sendest du die Anzahl der Clients an den abrufenden CLient, wie genau du das anstellst, ist deine Sache, am besten ist, du baust dir ne extra Unit (oder eine .dll) nur mit dem Protokoll und verwendest, dass dann bei Client und Server.

Zu der Sache mit der IP: Eine IP besteht aus 4 Byte, ein unsigned Byte kann Werte von 0 bis 255 annehmen. Somit ergibt sich folgender Aufbau einer IP: Byte1.Byte2.Byte3.Byte4, z.B 127.000.000.001 (localhost). Es dürfte einfahcer sein, die einzelnen Bytes zu inkrementieren als das ganze als String zu handeln. Zu beachten ist dann aber auch, dass man sich eine Funktion dazu bauen sollte, die aus dem ganzen wieder einen String bauen kann, da viele Funktionen die IP als String verlangen. Eine Klasse dazu könnte so aussehen (nur als Beispiel gedacht, auch wenn man das vielleicht besser als record macht):

Delphi-Quellcode:
TMyIP = class(TObjekt)
  public
    Byte1: Byte;
    Byte2: Byte;
    Byte3: Byte;
    Byte4: Byte;
    function getIPString: string;
  end;

TMyIP.getIPString: string;
begin
  Result:= IntToStr(Byte1)+'.'+IntToStr(Byte2)+'.'+IntToStr(Byte3)+'.'+IntToStr(Byte4);
end;
[Edit] Delphi-Tag hinzugefügt
  Mit Zitat antworten Zitat