Internetverbindung überprüfen

Anfängerfragen zum Programmieren mit PureBasic.
Gamer
Beiträge: 180
Registriert: 21.03.2005 16:59

Beitrag von Gamer »

Aber irgendwie immer noch viel zu lang für nen simplen Onlinecheck :-(
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Compilielertt ist das gerade mal 12 KB groß mach doch ne .pbi draus und include es. ;)
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Da euch der Code zu lang ist habbich mit TB ne Lib draus gemacht:

http://fighter125.fi.funpic.de/DL.htm

Code: Alles auswählen

result=PingIP(Ip.s)
Ip.s - IP of the Webpage/PC/Server
Result is the ping.

result=PingAddr(Addr.s)
Addr.s - Domain of the Webpage/PC/Server
Result is the ping

result$=GetIPFromHost(Addr$)
Addr.s - Domain of the Webpage/PC/Server
Result is the IP of the Host.
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Gamer
Beiträge: 180
Registriert: 21.03.2005 16:59

Beitrag von Gamer »

Mit den Network-Befehlen hab ich aber auch mal ein Beispiel gesehen,
was irgendwie mit Timeouts zurechtkam...
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Das Problem bei der ganzen Geschichte ist, das bei einer "on demand" Einstellung des Routers eine Verbindung beim prüfen aufgebaut wird, zumindest bei meinem. Wer keine Flat hat kann das nicht gebrauchen. Ich vermute mal das es bei anderen auch so sein wird, macht ja Sinn. Also stellt sich für mich die Frage was es an anderen möglichkeiten gibt. Welcher Verkehr wird z.B. einen Router nicht dazu veranlassen aufzumachen? Wie werten die Hersteller "on demand" am Router aus? Portmäßig, http, ftp, 8080,8081 oder wie machen die das? Vielleicht macht ein Router bei bestimmten Ports nicht automatisch auf, ntp vielleicht, niedrige "well knowns"? Vielleicht ließt ja ein Profi mit der sich damit auskennt...
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Wie funktioniert das jetzt mit der userlib? wo muss ich die hinkopieren? hab das noch nie gemacht.

Und noch was, so wie ich das jetzt verstanden hab kann man mit dem 2. befehl rausfinden ob man eine Internetverbindung hat? Der 3. Befehl dient dazu die IP rauszufinden und der 1. um zu schauen ob man eine Verbindung mit dem Router (wenn vorhanden) hat.

Wie kann ich jetzt alle 15 minuten auf eine Internetverbindung überprüfen? wenn ich in der hilfe nach timer schaue finde ich nichts. und die schleife mit einem goto befehl ständig zu wiederholen nimmt zu viel CPU geschwindigkeit weg.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Die Lib kommt in den Userlibrarys Ordner.

Code: Alles auswählen

Procedure CheckConnection()
Repeat
Delay(900000);Wait 15 Minutes
If PingAddr(Addr.s)>0 ;PingCheck
ConnectionEtablished=1 ;if check is succesfull - > end loop
EndIf ; EndCheck
Until ConnectionEtablished=1
EndProcedure

CheckConnection()

;Wenn er Connectet ist beednet sich CheckConnection und dieser Code wird ausgeführt in deinem Fall müsste hier jetzt der Code zum Verbinden deines Chats hin :)

Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Also es hat funktioniert thx an alle fleisigen poster.

mfg zigapeda
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

so jetzt wollte ich eine domain rausfinden die ich nicht mehr weiß, das einzigste was ich noch weiß das sie mit www.igcw.at. angefangen hat. jetzt fehlen noch zwei buchstaben und um rauszufinden welche buchstaben es sind hab ich folgendes programm geschrieben:

Code: Alles auswählen

For a = 97 To 122:For b = 97 To 122
  adress$ = "www.igcw.at." + Chr(a) + Chr(b)
  If PingAddr(adresse$) > 0:Debug adress$:EndIf
  Delay(1000)
Next b:Next a
Debug "fertig"
Repeat:ForEver
weiß einer warum er nur manchmal eine domain anzeigt (jedesmal eine andere) die aber nicht geht?
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

weil Domain nicht gleich beduetet das da ein HTTP Server drauf läuft.
Antworten