@Shmia: Ich möchte das aber komplett programmieren. Wo bliebe denn da der Lerneffekt?
Also irgendwie kriegt mein Programm den Arsch nicht hoch: Dümpelt im Besten fall bei 10% Netzwekauslastung einer 54 MBit/s Netzwerkkarte rum. Und die Packetgröße beträgt gerade mal 1460 Byte...
Wie krige ich das ganze noch besser hin? Ans Maximum?
Komischerweise sind die Packete immer 1460 Byte groß. Dabei müssten sie doch verschieden groß sein, da er den 1048576 Byte großen "sentvar" zerlegt. Komischerweise hatte ich einmal eine Konstante Packetgröße von etwa 960 Byte...
Mein Code:
Delphi-Quellcode:
var sentvar : string;
bytes, zahler : int64;
procedure TForm1.Button3Click(Sender: TObject);
var Socket: TCustomWinSocket;
i,j : integer;
size : integer;
begin
SetLength(sentvar,1048576);
size:=length(sentvar);
if ClientSocket1.active then
begin
for i:=1 to 100 do
begin
Clientsocket1.Socket.SendBuf(sentvar[1],size);
end;
end;
end;
procedure TForm1.Read(Sender: TObject; Socket: TCustomWinSocket);
var size : integer;
begin
size:=Socket.ReceiveLength;
SetLength(sentvar,size);
Socket.ReceiveBuf(sentvar[1],size);
zahler:=zahler+1;
Label7.Caption:=InttoStr(zahler);
bytes:=bytes+size;
Label6.Caption:=InttoStr(size);
Label5.Caption:=InttoStr(bytes);
if zahler<100000 then
Socket.SendBuf(sentvar[1],size);
end;
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.