Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Server infos bekommen (https://www.delphipraxis.net/36484-server-infos-bekommen.html)

Äfan 20. Dez 2004 18:59


Server infos bekommen
 
Hallo,

Mal wieder ne dumme frage:

Ich habe nen Server. Ich will mit meinem Programm folgendes herausbekommen:

1. Ob der Server Online ist oder nicht
2. Mit wieviel Bit/s dateien heruntergeladen werden

und was man sonst noch braucht...

Wär net wenn jemand gleich einen Code hätte oder sowas :wink:

MFG

:dp:

StanY 20. Dez 2004 19:08

Re: Server infos bekommen
 
Mach nen Blank-Package (z.b. 1MB) auf deinen Server, und versuche diese runterzuladen.

Erfolg: Server ist online. Speed kannste ja messen.

Kein Erfolg: Server ist offline, Speedfrage erübrigt sich.

Äfan 20. Dez 2004 19:14

Re: Server infos bekommen
 
Zitat:

Mach nen Blank-Package (z.b. 1MB) auf deinen Server, und versuche diese runterzuladen.

Erfolg: Server ist online. Speed kannste ja messen.

Kein Erfolg: Server ist offline, Speedfrage erübrigt sich.
Acha, geht das mit dem Online check net professionel und wie soll man den Speed messen ? Diese Infos sollen in Delphi agezeigt werden !

fkerber 20. Dez 2004 19:19

Re: Server infos bekommen
 
Hi!

Es geht bestimmt auch per Ping.
Such mal danach.


Ciao Frederic

Ultimator 20. Dez 2004 19:19

Re: Server infos bekommen
 
Zitat:

geht das mit dem Online check net professionel
Zu diesem Theam gabs schon zig Diskussionen, und immer ist rausgekommen: Man kann nicht sicher feststellen, ob man im Internet ist oder nicht ;-)
[edit 2]
:wall: ARGH!
Nun gut, du hast den Server, hast du geschrieben. Der Server kann ja per UDP immer einen Broadcast machen, in dem steht, dass er online ist. Und wenn ein Client diesen Broadcast empfängt, weiß er, dass der Server online ist und kann sich per TCP verbinden.

(Puh, rausgeredet :stupid:)
[/edit 2]

Zitat:

und wie soll man den Speed messen ?
1MB=1024KB; Angenommen du brauchst 30 Sekunden für das MB => Speed=1024KB/30s => Speed= 34,1333333... KB/s ;-)

[edit]:party: 1000 :party: [/edit]

S2B 20. Dez 2004 19:23

Re: Server infos bekommen
 
Zitat:

Zitat von Ultimator
Zitat:

geht das mit dem Online check net professionel
Zu diesem Theam gabs schon zig Diskussionen, und immer ist rausgekommen: Man kann nicht sicher feststellen, ob man im Internet ist oder nicht ;-)

Aber hier geht es imho nicht um den eigenen Computer, sondern einen Server im (I)Net! :wink:

Äfan 20. Dez 2004 19:35

Re: Server infos bekommen
 
Zitat:

Nun gut, du hast den Server, hast du geschrieben. Der Server kann ja per UDP immer einen Broadcast machen, in dem steht, dass er online ist. Und wenn ein Client diesen Broadcast empfängt, weiß er, dass der Server online ist und kann sich per TCP verbinden.
Ähhh ganau :gruebel: Ähhh ? Egal ! Ein codebeispiel wär net, sonst probier ich ewig rum und am ende kommt nur haufenweiße mist raus.

Zitat:

1MB=1024KB; Angenommen du brauchst 30 Sekunden für das MB => Speed=1024KB/30s => Speed= 34,1333333... KB/s
Ja dat weiß ich, nur wie weiß Delphi wie lange eine Datei runterläd ? Gibts da keine direkte methode z.B. edit1.text := Server.übertragungsrate ?

Ich bin net doof :freak:

fkerber 20. Dez 2004 19:36

Re: Server infos bekommen
 
HI!

Wie gesagt, such mal nach Ping.


Ciao Frederic

Äfan 20. Dez 2004 19:39

Re: Server infos bekommen
 
:roll: :cry: OK

Äfan 20. Dez 2004 19:45

Re: Server infos bekommen
 
Ich habe mal was zu Ping gefunden. Der check den Server und gibt paar infos. Wenn der Server allerdings aus, gibts nen Socket Fehler. Und die Übertragungsrate kann man da net rausfinden.

Ultimator 20. Dez 2004 19:48

Re: Server infos bekommen
 
Deswegen das Beispiel mit dem Blank-Package von 1MB.
Und mit Hier im Forum suchenGetTickCount bzw. Delphi-Referenz durchsuchenGetTickCount kannst du messen, wie lange das ganze dauert ;-)

fkerber 20. Dez 2004 19:49

Re: Server infos bekommen
 
Hi!

Schon das hier gesehen?
http://www.delphipraxis.net/internal...=276023#276023

Ciao Frederic

Äfan 20. Dez 2004 19:57

Re: Server infos bekommen
 
Jo Danke. Nur schau mal was passiert wenn der Server nicht erreichbar ist :cry: Socket Fehler.

paresy 20. Dez 2004 20:04

Re: Server infos bekommen
 
Zitat:

Zitat von Äfan
Jo Danke. Nur schau mal was passiert wenn der Server nicht erreichbar ist :cry: Socket Fehler.

try except end; ?

nur so als tipp am rand...

fkerber 20. Dez 2004 20:08

Re: Server infos bekommen
 
Hi!

Ist ja schon drin...
Delphi steigt da normal ja immer noch aus. Wenn man das Programm nicht aus Delphi heraus startet sollte es gehen.


Ciao Frederic

Äfan 20. Dez 2004 20:37

Re: Server infos bekommen
 
Dann kommt das:

http://aefan.x-craft.de/fehler1.GIF

HaZe 20. Dez 2004 20:52

Re: Server infos bekommen
 
hi

zum thema traffic auslesen, wenns ein unix server mit apache ist dann hol dir phpsysinfo und lese die variablen aus.
bei wind00f müsstest du mal in ein paar phparchiven rumwühlen
http://phpsysinfo.sourceforge.net/

cya

HaZe :-D

Äfan 20. Dez 2004 21:18

Re: Server infos bekommen
 
OK, naja ich glaube das wird alles zu kompliziert. Ich mache es glaube ich mit der einfachen unproffesionelen Download methode. Mal zu dem GetTickCount, also in der DH find ich nix. Bei welcher Komponente geht dieses GetTickCount ?

Ultimator 21. Dez 2004 12:28

Re: Server infos bekommen
 
GetTickCount ist eine WinAPI-Funktion, sie gibt dir die Zeit in ms aus, die seit dem Windowsstart vergangen ist.
Du kannst den Wert also einmal in eine Variable speichern, bevor der Download beginnt und danach den gespeicherten Wert von einem nach dem DL gemessenen Wert abziehen. Das ganze noch mal 1000 und du hast die Zeit, wie lange der Download gedauert hat ;-)

murcielago 21. Dez 2004 12:35

Re: Server infos bekommen
 
Zitat:

Zitat von Äfan
OK, naja ich glaube das wird alles zu kompliziert. Ich mache es glaube ich mit der einfachen unproffesionelen Download methode. Mal zu dem GetTickCount, also in der DH find ich nix. Bei welcher Komponente geht dieses GetTickCount ?

warum unprofessionell? wie glaubst du dass das sonst funktionieren soll? die downloadrate ist ja meist unterschiedlich, kommt eben drauf an, wieviel user zB grad dranhängen.

und weil du dich aufregst dass du keine downloadrate bekommst wenn der server down ist... naja, logisch oder? dann hast auch 0kb/sec. :wall:

Äfan 21. Dez 2004 14:54

Re: Server infos bekommen
 
Aber wie und wo kann ich GetTickCount verwenden ? Bitte mal code oder so. In der Delphi hilfe steht darüber nix.

fkerber 21. Dez 2004 15:14

Re: Server infos bekommen
 
Hi!

http://msdn.microsoft.com/library/de...ttickcount.asp


Ciao Frederic

Ultimator 21. Dez 2004 15:17

Re: Server infos bekommen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Äfan
In der Delphi hilfe steht darüber nix.

Eingentlich mag ich ja keine Unterstelungen, aber in diesem Fall:
Du hast nicht in die Delphi-Hilfe geschaut, oder? :roll:
Dann hättest du nämlich das im Anhang gezeigte sehen müssen.
Menü Hilfe->Delphi-Hilfe->GetTick eintgegeben -> GetTickCount sehen-> Doppelklicken->fertig

:roll:

Und nein, Code gibts nicht, hab ich ja oben schon in "Wort-Form" gepostet.


Sorry, aber wenn jemand alles vorgekaut haben will, ist er HIER falsch.
Und ich denke, dieses Verhalten meinerseite ist an dieser Stelle gerechtfertigt :roll:

Äfan 21. Dez 2004 15:18

Re: Server infos bekommen
 
Zitat:

GetTickCount ist eine WinAPI-Funktion, sie gibt dir die Zeit in ms aus, die seit dem Windowsstart vergangen ist.
Jo stimmt, wie will man damit die downloadzeit ermitteln ?

Ultimator 21. Dez 2004 15:20

Re: Server infos bekommen
 
Wie SCHON OBEN geschrieben
Du kannst den Wert also einmal in eine Variable speichern, bevor der Download beginnt und danach den gespeicherten Wert von einem nach dem DL gemessenen Wert abziehen. Das ganze noch mal 1000 und du hast die Zeit, wie lange der Download gedauert hat


ARGH! :wall:

Steht doch alles da, mussts nur noch in Code umformen :roll:

Äfan 21. Dez 2004 15:26

Re: Server infos bekommen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Menü Hilfe->Delphi-Hilfe->GetTick eintgegeben -> GetTickCount sehen-> Doppelklicken->fertig
Zitat:

ARGH!
Da bitte schön (Attachment)! :evil:

Zitat:

Steht doch alles da, mussts nur noch in Code umformen
Es sind halt net alle so gut wie du in delphi, sorry ! :cry: Ich glaube ich bin hier echt falsch aufgehoben :cry:

Ultimator 21. Dez 2004 15:30

Re: Server infos bekommen
 
Das kann fast nicht sein, dann tuts mir echt leid, da ich auch nur D7 Personal habe.
Sorry. :oops:

Aber in der CodeLib ist ein Beispiel, wie man GetTickCountGetTickCount (das mit Delay ;-)) verwendet, schau dir das mal an, da kann man auch lernen. ;-)

Und:

Hier bist du nicht falsch aufgehoben.
Im Gegenteil: Sogar sehr gut.
Eben solange wir sehen, dass du auch etwas Eigeninitiative zeigst ;-)


Wie gesagt, das oben basiert auf einer falschen Annahme, also sei bitte nicht böse :-)

Äfan 21. Dez 2004 15:58

Re: Server infos bekommen
 
Zitat:

Wie gesagt, das oben basiert auf einer falschen Annahme, also sei bitte nicht böse
Schon gut. :wink:

Ultimator 21. Dez 2004 16:02

Re: Server infos bekommen
 
Du musst einmal vor dem Download den Rückgabewert von GetTickCount in eine Variable, angenommen genannt alterWert speichern.
Nach dem Download speicherst du dann den Wert von GetTickcount-alterWert in eine andere Variable, etwa Dauer.
Die nimmst du dann *1000 und schon hast du die Dauer des Downloads in Sekunden ;-)

Äfan 21. Dez 2004 16:13

Re: Server infos bekommen
 
OK nur wie weiß delphi ob der download startet oder beendet ist ?

:gruebel:

StanY 21. Dez 2004 16:16

Re: Server infos bekommen
 
Delphi-Quellcode:
var
  STicks, FTicks: Integer;
begin
  STicks := GetTickCount;
  UrlDownloadToFile(*parameter vergessen^^*);
  FTicks := GetTickCount;
end;
So sollte das gehen, da UrlDownloadToFile den Thread unterbricht, bis die Datei fertig ist oder es einen Fehler gab...

Äfan 21. Dez 2004 16:23

Re: Server infos bekommen
 
Jo ich glaunbe wir sind nah dran, aber:

Delphi-Quellcode:
[Fehler] Unit1.pas(31): Undefinierter Bezeichner: 'UrlDownloadToFile'
:gruebel:

StanY 21. Dez 2004 16:25

Re: Server infos bekommen
 
UrlMon in Uses einbinden.

Äfan 21. Dez 2004 16:48

Re: Server infos bekommen
 
Delphi-Quellcode:
UrlDownloadToFile('http://mmmmmm.de/fehler1.GIF');

[Fehler] Unit1.pas(31): Inkompatible Typen: 'String' und 'IInterface'
Was muss da rein ? Dann müsste es gehen.

Ultimator 21. Dez 2004 16:52

Re: Server infos bekommen
 
Delphi-Quellcode:
URLDownloadToFile(nil, 'http://www.q.el.le/Da.tei,'Zielda.tei', 0, nil);

Äfan 21. Dez 2004 17:49

Re: Server infos bekommen
 
Ja danke. geht ohne probleme. Warum haben wir das nicht gleich so gemacht :-D :P :wink: :thumb:

Nur eine kleine frage, nur aus interesse: Ich habe bei 'Zielda.tei' C:\test.exe. Wenn ich bei 'Zielda.tei' nur C:\ eingebe, funktioniert das ohne probleme, nur wo läd er das dann hin ? Auf C:\ is nix zu sehen ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 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