Thema: Delphi Netzwerk Benchmark

Einzelnen Beitrag anzeigen

Patrick

Registriert seit: 15. Sep 2003
184 Beiträge
 
Delphi 2010 Professional
 
#1

Netzwerk Benchmark

  Alt 28. Feb 2006, 09:43
Hallo,

Ich habe vor ein Netzwerk-Benchmark Programm zu schreiben. Ich benutze dafür den Server- und Client-Socket.
Ich habe mir gedacht, dass ich eine Variable anlege, un diese immer wieder sende.

Jetzt meine erste Frage: Die Variable sollte von der Größe her variabel sein, also wollte ich einen String (sentvar) nehmen:
Delphi-Quellcode:
SetLength(sentvar,1024);
size:=SizeOf(sentvar); //size=4
Bin ich jetzt doof, oder warum ist ein String mit der Länge 1024, der eine Zeichenkette ist, bei dem ein Zeichen 1 Byte hat, nur 4 Byte groß?

Mein zweites Problem: Ich jage die eher die Prozessorauslastung hoch, anstatt der Netzwekrauslastung.
Delphi-Quellcode:

var sentvar : array [1..1024] of char; //damit ist sentvar 1024 Bytes groß! ist der Array dynamisch ist er wieder nur 4 Byte groß!
procedure TForm1.Button3Click(Sender: TObject);
var Socket: TCustomWinSocket;
    i,j : integer;
    size : integer;
begin
//SetLength(sentvar,1024);
size:=SizeOf(sentvar);
if ClientSocket1.active=true then
begin
  for i:=1 to 1048576 do
  begin
    Clientsocket1.Socket.SendBuf(sentvar,size);
  end;
end;
end;

procedure TForm1.Read(Sender: TObject; Socket: TCustomWinSocket);
begin
  bytes:=bytes+Socket.ReceiveLength;
  Socket.ReceiveBuf(sentvar,Socket.ReceiveLength);
  Label5.Caption:=InttoStr(bytes);
end;
Ausserdem habe ich nicht das Gefühl, dass alles an Bytes am Zeil ankommt...
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.
  Mit Zitat antworten Zitat