AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi mögliche Geschwindigkeit
Thema durchsuchen
Ansicht
Themen-Optionen

mögliche Geschwindigkeit

Ein Thema von rabby · begonnen am 15. Jul 2004 · letzter Beitrag vom 18. Jul 2004
Antwort Antwort
Seite 2 von 3     12 3      
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: mögliche Geschwindigkeit

  Alt 15. Jul 2004, 18:00
Eine Funktion die dir die aktuelle Übertragungsrate anzeigt ist im Tasgmanager von XP bereits eingebaut.

Strg-Alt-Entf und dann auf den Registerreiter "Netzwerk" klicken

[Edit: Tippfehler [/Edit]
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
rabby

Registriert seit: 15. Jul 2004
19 Beiträge
 
#12

Re: mögliche Geschwindigkeit

  Alt 15. Jul 2004, 18:42
hallo !

habs nun mit den ping befehlen an den access point gemacht.
nun wird im 1er takt mit nem timer ein ping gesendet und
mit nem indy komponent werden dann die pings mitgeloggt.
einmal pro sekunde lasse ich dann die anzahl der pings auslesen.
der wert liegt in der nähe des routers bei 80.
wenn ich mich in weiter entferne ist dieser wert komischerweise relativ konstant: 60-75
nagut... wir haben keine soo dicken wände, aber auch draußen bleibt der wert bei über 60...
liegt das an der messtechnik, oder ist das die realität?!

wie misst man normalerweise die geschwindigkeit und auch datendurchsatzrate?
denn ich hab noch nirgendwo 80 echos pro sekunde gelesen
und von ping lässt sich wohl auch schlecht auf mbit umrechnen.

danke für Eure hilfe
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#13

Re: mögliche Geschwindigkeit

  Alt 15. Jul 2004, 19:02
Kannst ja soviele Pings senden wies geht, und dann die Zahl der Pings die gesendet wurden mit der Paket-Größe multiplizieren. Dann hättest du auch einen Daten durchsatzt

400 Beiträge - Sorry für 400x unkonstruktives nerven
  Mit Zitat antworten Zitat
rabby

Registriert seit: 15. Jul 2004
19 Beiträge
 
#14

Re: mögliche Geschwindigkeit

  Alt 15. Jul 2004, 19:09
idee: da ich das ganze nicht in ne endlosschleife verpacken möchte, könnte ich doch einfach, sobald eine antwort auf den ersten ping zurückkam gleich den nächsten senden.
oder verfälscht das das ergebnis der geschwindigkeit?`
die datendurchsatzrate wäre damit aus dem rennen und müsste anderweitig gemessen werden.

was wär Euer alternative vorschlag zu ner langen schleife?
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#15

Re: mögliche Geschwindigkeit

  Alt 15. Jul 2004, 19:10
Ja, das würde das Ergebniss verfälschen!
Im Prinzip müsstest du, wenn du es mit pings machen wölltest, es mit Threads machen, damit die Pakete parallel gesendet werden.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#16

Re: mögliche Geschwindigkeit

  Alt 15. Jul 2004, 19:42
En ansatz! Komm aber ned weiter und ist sehr ungenau!

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TThread = record
    ID: cardinal;
    Handle: THandle;
    Result: cardinal;
  end;

  IPAddr = DWORD;

  PICMP_ECHO_REPLY = ^ICMP_ECHO_REPLY;
  ICMP_ECHO_REPLY = packed record
    Address : ULONG;
    Status : ULONG;
    RoundTripTime : ULONG;
    DataSize : WORD;
    Reserved : WORD;
    Data : Pointer;
  end;

  PIP_OPTION_INFORMATION = ^IP_OPTION_INFORMATION;
  IP_OPTION_INFORMATION = packed record
    Ttl : byte;
    Tos : byte;
    Flags : byte;
    OptionsSize : byte;
    OptionsData : Pointer;
  end;



  function IcmpCreateFile : DWORD; stdcall; external 'icmp.dll';
  function IcmpCloseHandle(const IcmpHandle : DWORD) : longbool; stdcall; external 'icmp.dll';
  function IcmpSendEcho(const IcmpHandle : DWORD;const DestinationAddress : IPAddr;const RequestData : Pointer;const RequestSize : WORD;const RequestOptions : PIP_OPTION_INFORMATION;const ReplyBuffer : Pointer;const ReplySize : DWORD;const TimeOut : DWORD) : DWORD; stdcall; external 'icmp.dll';

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

function PingThread(p:pointer):cardinal;
var
  hICMP : DWORD;
  pierWork : PICMP_ECHO_REPLY;
  dwSize : DWORD;
begin
  hICMP := IcmpCreateFile;
  if hICMP = INVALID_HANDLE_VALUE then exit;
  try
    dwSize := SizeOf(ICMP_ECHO_REPLY)+8;
    pierWork := AllocMem(dwSize);
    try
      result:=IcmpSendEcho(hICMP,MAKELONG(MAKEWORD(192, 168),MAKEWORD(1, 1)),nil,0,nil,pierWork,dwSize,1000);
    finally
      FreeMem(pierWork,dwSize);
    end;
  finally
    IcmpCloseHandle(hIcmp);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
  Threadarray: array[0..128] of TThread;
  running: boolean;
  StartTime, EndTime: DWORD;
begin
FillChar(Threadarray, sizeof(Threadarray),#0);
running:=true;
for i:=low(Threadarray) to High(Threadarray) do
  begin
  Threadarray[i].Handle:=CreateThread(nil,0,@PingThread,nil,0,Threadarray[i].ID);
  Threadarray[i].ID:=259;
  end;
StartTime:=GetTickCount;
while running do
  begin
  running:=false;
  for i:=low(Threadarray) to High(Threadarray) do
    begin
    Application.ProcessMessages;
    if Threadarray[i].ID=259 then
      begin
      GetExitCodeThread(Threadarray[i].Handle, Threadarray[i].Result);
      running:=true;
      end
    else
      CloseHandle(Threadarray[i].Handle);
    end;
  end;
EndTime:=GetTickCount;
ShowMessage(inttostr(32* (high(Threadarray)-low(Threadarray)))+' bytes in '+ inttostr(EndTime-StartTime)+' ms');
ShowMessage(inttostr((1000 div (EndTime - StartTime))* 32* (high(Threadarray)-low(Threadarray)))+' bytes in '+ inttostr(1000)+' ms');
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Calimero
Calimero

Registriert seit: 8. Mär 2003
Ort: Krefeld
69 Beiträge
 
Delphi 6 Personal
 
#17

Re: mögliche Geschwindigkeit

  Alt 18. Jul 2004, 13:41
Mit dem Speed Code von mir hier

Tread mit dem Code drin

Damit habe ich leider festellen müssen das mein Netzwerk nur 5 mbit hat
***** I like Delphi & Rapidq and C *****
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#18

Re: mögliche Geschwindigkeit

  Alt 18. Jul 2004, 14:01
5 mbit ??

1
10
100
1000

gibts ja.. aber 5 als LAN ??
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von Calimero
Calimero

Registriert seit: 8. Mär 2003
Ort: Krefeld
69 Beiträge
 
Delphi 6 Personal
 
#19

Re: mögliche Geschwindigkeit

  Alt 18. Jul 2004, 16:49
5 mbit die wirkliche geschwindigkeit

Du hast niemals 10, 100 usw. in wirklichkeit.

z.b hab ich eine 400 mhz kiste als server im netzwerk (Windows).

wenn ich z.b von der 400 mhz möhre was kopiere habe ich nur 5 mbit

zu einen anderen client im netzwerk der 800 mhz hat habe ich z.b nur 8 mbit in wirklichkeit

wäre jetzt überall Linux drauf hätte ich natürlich 10 mbit. Obwohl ich habe fast überall 100´er Karten drin. Aber ein Netzwerk richtet sich immer nach der langsamsten Karte und die ist leider die 10 mbit Karte für Dsl)



verstanden ?

***** I like Delphi & Rapidq and C *****
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#20

Re: mögliche Geschwindigkeit

  Alt 18. Jul 2004, 16:55
Zitat:
Aber ein Netzwerk richtet sich immer nach der langsamsten Karte und die ist leider die 10 mbit Karte für Dsl)
was zum teufel hast du für ein netzwerk ?
in einem geswitchten netzwerk ist es egal was die langsamste karte kann.. wenn die anderen 100mbit haben und du hast keine überlängen drin dann kannst du natürlich an die praktische übertragungsrate von 9-10 mb/sec rankommen.. da richtet sich garnix nach der langsamsten ausser natürlich du gehst über diese..
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz