Autor Beitrag
DeadlyAppearance
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 27.01.06 05:55 
Hi.
Und zwar habe ich ein Programm, welche es Tracert macht. Hab die Unit ausm Forum hier.
Wenn ich offline ping, bekomme ich ständig die 127.0.0.1 zurück, sprich keine exception.
Nun habe ich nen Ping vorher eingebaut um zu schauen, ob ich online bin.
Problem ist für mich, ich mache ca alle 3-5sec nen Ping, wenn das Programm mal 100+ User benutzern, da freut sich sicher google oder wer auch immer.
Jemand ne andere Idee? Weil in de Threads hier steht ja immer man kann es net prüfen, gibt keine Möglichkeit.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Holgerwa
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 325

WIN XP Pro, Vista Business
Delphi 7 Pro, BDS 2006 Pro
BeitragVerfasst: Fr 27.01.06 09:01 
Hallo,

ohne jetzt von dem Thema sonderlich Ahnung zu haben würde ich sagen, daß Du schon eine Entscheidungshilfe gefunden hast, ob Online oder Offline:
Du sagst, daß Du im Falle von "Offline" 127.0.0.1 zurückbekommst. <- Damit weißt Du doch, welchen Zustand Du hast.

Holger
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 27.01.06 09:55 
Probier mal das, weiss nicht ob Ich das richtig verstanden hab.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
uses wininet; 
  
procedure TForm1.Button1Click(Sender: TObject); 
var 
  flags: DWord; 
  meld: string
const 
  no = 'Es besteht im Moment keine Internetverbindung.'
begin 
  if InternetGetConnectedState(@flags, 0then begin 
    meld := ''
    if (flags and $40) = 0 then 
      meld := no else begin 
      meld := 'Es ist eine Internetverbindung eingerichtet.' + #13
      if (flags and INTERNET_CONNECTION_LAN) > 0 then 
        meld := meld + 'Die Internetverbindung erfolgt über ein Netzwerk'
      if (flags and INTERNET_CONNECTION_MODEM) > 0 then 
        meld := meld + 'Die Internetverbindung erfolgt über ein Modem'
      if (flags and INTERNET_CONNECTION_PROXY) > 0 then 
        meld := meld + ' mittels eines Proxy-Servers.' + #13 
      else meld := meld + '.' + #13
      if (flags and $20) > 0 then meld := meld + no; 
      if (flags and INTERNET_CONNECTION_MODEM_BUSY) > 0 then 
        meld := meld + 'Das Modem nutzt z.Zt eine andere Verbindung.'
      if (flags and $10) > 0 then 
        meld := meld + 'Ein Remote Access Service (RAS) ist installiert.'
    end
  end else meld := no; 
  showmessage(meld); 
end;
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 27.01.06 10:35 
Moin!

user profile iconDeadlyAppearance hat folgendes geschrieben:
Und zwar habe ich ein Programm, welche es Tracert macht. Hab die Unit ausm Forum hier.

Zum Thema Ping: schau dir mal diese Unit hier an und lass das mit dem traceroute... :wink:

user profile iconDeadlyAppearance hat folgendes geschrieben:
Nun habe ich nen Ping vorher eingebaut um zu schauen, ob ich online bin.

Dazu kann ich leider nur sagen: das geht nicht zweifelsfrei! :wink: Wirklich... :D Hier ist nett erklärt, warum. :mrgreen:

cu
Narses
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 27.01.06 15:27 
Ich benutze folgende Unit:
www.delphi-forum.de/...mp;highlight=tracert

Ich brauche die Tracefunktion. Die Pingfuktion benzte ich jediglich zur Überprüfung ob ich online bin oder nicht.
Leider ging das so mit der 127.0.0.1 nicht, da die eh jedesmal aufgelsitet wird, hab da noch mit ner zwischen Variablen gearbeitet gehabt, aber das ging auch net.
Muss nachher noch mals chauen, aber wenn ich einfach die Netzwerkkarte deaktiviere gab mir das trace glaube 2 IP`s zurück. Wenn ich ne tote IP trace, kamen glaube auch 2. Irgendwie sowas.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 27.01.06 16:00 
Moin!

user profile iconDeadlyAppearance hat folgendes geschrieben:
Ich benutze folgende Unit:

Ich weiss, welche Unit du benutzt. :wink: Leider gibt es mit dem tracert gelegentlich unter bestimmten Win-Versionen einen bluescreen... :| Deshalb sollte das nur unter sehr kontrollierten Umständen erfolgen.

user profile iconDeadlyAppearance hat folgendes geschrieben:
Die Pingfuktion benzte ich jediglich zur Überprüfung ob ich online bin oder nicht.

Ich wiederhole mich gerne, aber begrenzt: es ist nicht möglich - auch nicht mit einem Ping - festzustellen, ob der Rechner "online" ist. :roll: (Wobei es da, zugegeben, noch darauf ankommt, wie du "online" definierst. Wenn dein Ping eine RTT liefert, bist du DANN auf jeden Fall in der Lage, mit dem entsprechenden Host zu kommunizieren; selbst wenn genau dafür dann eingewählt werden muss... :()

user profile iconDeadlyAppearance hat folgendes geschrieben:
Ich brauche die Tracefunktion.
[...]
Leider ging das so mit der 127.0.0.1 nicht, da die eh jedesmal aufgelsitet wird, hab da noch mit ner zwischen Variablen gearbeitet gehabt, aber das ging auch net.
Muss nachher noch mals chauen, aber wenn ich einfach die Netzwerkkarte deaktiviere gab mir das trace glaube 2 IP`s zurück. Wenn ich ne tote IP trace, kamen glaube auch 2. Irgendwie sowas.

Wenn ich ehrlich bin, glaube ich nicht, dass du weißt, was du da tust... :gruebel:

Viel Erfolg noch
Narses
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 27.01.06 18:17 
Ich pinge derzeit nach und nach 5 Websitzen an, da immer mal eine nicht antwortet. Sollten alle 5 Websiten keinen Ping größer 0 zurückliefern, so starte ich nen Timer und versuche es eine Minute später erneut, da ich davon ausgehe, das man nun offline ist.
Erst wenn ein Ping erfolgreich zurückkommt, gehe ich davon aus, dass auch der Traceroute funktionieren wird und somit führe ich diesen anschließend aus.

Wie gesagt, ich hatte bis eben noch keine Zeit, 100% zu schauen was die Tracefunktion mir zurückliefert, wenn ich Offline bin. Vielleicht kann ichs auch ohne ping prüfen. Auf jedenfall darf das Programm nicht stillstehen wenn ich keien verbindung zum Internet habe sondern erneut versuchen eien Trace auszuführen.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 27.01.06 18:34 
Moin!

user profile iconDeadlyAppearance hat folgendes geschrieben:
Ich pinge derzeit nach und nach 5 Websitzen an, da immer mal eine nicht antwortet. Sollten alle 5 Websiten keinen Ping größer 0 zurückliefern, so starte ich nen Timer und versuche es eine Minute später erneut, da ich davon ausgehe, das man nun offline ist.

Dass du nicht zweifelsfrei ermitteln kannst, ob ein Rechner mit dem Internet verbunden ist, hast du jetzt aber schon verstanden, oder? :wink: Und dass du mit einem Ping im Zweifel eine Verbindung (die Geld kosten könnte!) erzwingst, ist dir auch klar, ja? :|

user profile iconDeadlyAppearance hat folgendes geschrieben:
Erst wenn ein Ping erfolgreich zurückkommt, gehe ich davon aus, dass auch der Traceroute funktionieren wird und somit führe ich diesen anschließend aus.

Also, ich gestehe, du machst mich wirklich langsam neugierig, wozu du zum Kuckuck wissen musst, über welche öffentlichen Router eine Verbindung abgewickelt wird... :gruebel: Lüfte doch mal dein Geheimnis! :wink:

user profile iconDeadlyAppearance hat folgendes geschrieben:
Wie gesagt, ich hatte bis eben noch keine Zeit, 100% zu schauen was die Tracefunktion mir zurückliefert, wenn ich Offline bin. Vielleicht kann ichs auch ohne ping prüfen. Auf jedenfall darf das Programm nicht stillstehen wenn ich keien verbindung zum Internet habe sondern erneut versuchen eien Trace auszuführen.

:gruebel: :gruebel: :gruebel:

cu
Narses
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 27.01.06 19:13 
Ich hatte in meinem PHP-Insertscript noch nen Fehler. Lese gerade die Daten erneut ein und zeige nachher mal, was ich da anstelle. Ne Website bastel ich auch schon gerade.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 27.01.06 20:13 
So, bin wieder da, bin mit Rechner zum Freund gefahren..
Hier is tdas Ergebnis von 36h Tracerouts von meinem Freund und mir:
www.realityworld.de/...k-cores1600x1200.png

Das mache ich :)

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 27.01.06 20:46 
Moin!

Verzeih die blasphemische Frage, angesichts solch beeindruckender Ergebnisse... :| aber wozu ist das gut? :gruebel:

cu
Narses
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 27.01.06 20:54 
Spass an der Freude. Bin auf die Idee gekommen und is doch ne nette Übung :).
Hab mir gerade mal die Unit angeschaut.

Wenn ich offline bin, habe ich als bei Hop = 1 die gleiche IP, wie die StartIP. Lässt sich also wunderbar abfangen:
if (Form1.edIP.Text = inet_ntoa(in_addr(ip))) and (hop = 1) then

Wenn ich z.B. ne IP-Adresse wie 1.1.1.1 antrace, so komme ich bis zum ersten Hop und anschließend wars das, aber es klappt, obwohl die IP-Adresse nicht vergeben ist.
Nun als Beispiel die Adresse 247.225.130.158. Gibt wohl auch nicht. Hier Ist auch wieder bei Hop = 1 die IP gleich und somit denke ich, ich sei off und mache ne Minute Pause. Und genau das möchte ich abfangen.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 27.01.06 21:02 
Moin!

Leider muss ich nochmal nachfragen, da mein beschränkter Geist einfach nicht auf die Lösung kommt:

WAS "sieht" denn nun der Eingeweihte in dieser Grafik? :gruebel:

cu
Narses
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 27.01.06 21:18 
Jeder Punkt isn Hop, um so dicker der Punkt, um so mehr Nodes zu nem anderen Hop hat dieser.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 27.01.06 21:23 
Moin!

Ich komm mir ja schon richtig blöd vor, aber: VON WELCHER IP ZU WELCHER ANDEREN bestimmst du die Anzahl der Router und WARUM?!? :?

cu
Narses
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 27.01.06 22:25 
Von wo nach wo is im Grunde egal.
In meinem fall, von deiner zu ner random IP.
Der Weg ist das Ziel :).
Und ich mache das aus Spass an der Freude um ne Karte mit allen Routern und verbindungen unseren schönen wwws zu erhalten.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Born-to-Frag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1094

Win XP SP2, Win 2000 SP4
Delphi 7, 2k5
BeitragVerfasst: Fr 27.01.06 23:14 
Was mich angeht, ich kann das Bild leider nicht öffnen ;) :(

_________________
Theorie ist wenn man alles weiß, aber nichts funktioniert. Praxis ist wenn alles funktioniert, aber niemand weiß warum.
Microsoft vereint Theorie und Praxis: Nichts funktioniert und niemand weiß warum.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 29.01.06 17:05 
Moin!

Sowas hatte ich mir schon gedacht... :|

Leute wie du sind der Grund, wieso Provider irgendwann nützliche Diagnosefunktionen einstellen/verwehren werden, weil sie missbraucht werden... :shock: :(

Viel Erfolg dann noch,
Narses