Seite 2 von 6

Verfasst: 29.03.2005 14:23
von zigapeda
bei mir ist es genau so wie beim Leo

Verfasst: 29.03.2005 14:25
von Gamer
Bei mir auch 2x als Ergebnis 0... ist wohl nicht sehr zuverlässig.

Ich nutze das hier:

Code: Alles auswählen

InitNetwork() 
If (OpenNetworkConnection("www.google.de",80))<>0
MessageRequester("Info","Online und Server erreichbar!",0)
EndIf
Wenn man im Programm Zugriff auf das Internet braucht,
kann man auch gleich die entsprechende Domain kurz aufrufen,
denn so schlägt man 2 Fliegen mit einer Klappe...

Verfasst: 29.03.2005 14:34
von zigapeda
Dein Beispiel ist gut aber es gibt ein Problem, wenn ich nicht online bin passiert nix, als ob sich das Programm aufgehängt hat

Verfasst: 29.03.2005 14:37
von 125
@Zigapeda: Da muss dann noch ein Else rein + MessageRequester("Error","Verbindung Fehlgeschlagen.")

Verfasst: 29.03.2005 14:38
von zigapeda
hab ich versucht aber wie gesagt das programm ist als ob es sich aufgehäng hat

Verfasst: 29.03.2005 14:40
von 125
Liegt warscheinlich am TimeOut die Rückmeldung das die Connection fehlschlägt dauert warhscheinlich ein weilchen da PB noch so und so viel Minuten auf Rückmeldung vom Server wartet.

Verfasst: 29.03.2005 14:42
von zigapeda
Es sollte aber ziemlich schnell gehen. also für mein programm. Gäbe es auch die möglichkeit, das das programm so lange wartet bis eine verbindung hergestellt ist und dann einen bestimmten code ausführt?

Verfasst: 29.03.2005 14:47
von Gamer
Hm das mit dem "Hängen" hab ich auch schon bei anderen Websachen bemerkt...

Du könntest einen Req ausgeben mit "Keine Verbindung zum Internet" und dann "Wiederholen" bzw. "Abbrechen" anbieten.

Verfasst: 29.03.2005 14:50
von zigapeda
Nein es soll im hintergrund laufen, so ein art chatprogramm. sobald eine verbindung zum internet hergestellt ist startet das programm

Verfasst: 29.03.2005 14:52
von 125
Probiers mal so:

Code: Alles auswählen

;

;Ping (c) 2002 by Siegfried Rings (known as the 'CodeGuru' )

;

;

Procedure lngNewAddress(strAdd.s)

sDummy.s=strAdd

Position = FindString(sDummy, ".",1) 

If Position>0 

 A1=Val(Left(sDummy,Position-1))

 sDummy=Right(Sdummy,Len(Sdummy)-Position)

 Position = FindString(sDummy, ".",1) 

 If Position>0 

  A2=Val(Left(sDummy,Position-1))

  sDummy=Right(Sdummy,Len(Sdummy)-Position)

  Position = FindString(sDummy, ".",1) 

  If Position>0 

   A3=Val(Left(sDummy,Position-1))

   sDummy=Right(Sdummy,Len(Sdummy)-Position)

   A4=Val(sDummy)

   Dummy.l=0

   PokeB(@Dummy,A1)

   PokeB(@Dummy+1,A2)

   PokeB(@Dummy+2,A3)

   PokeB(@Dummy+3,A4)

   ProcedureReturn Dummy

  EndIf

 EndIf  

EndIf

EndProcedure


Procedure Ping(strAdd.s)


  #PING_TIMEOUT = 200


  lngHPort.l

  lngDAddress.l

  strMessage.s

  lngResult.l

  ECHO.ICMP_ECHO_REPLY


  strMessage = "Echo This."

  lngDAddress = lngNewAddress(strAdd)

  lngHPort = IcmpCreateFile_()

  lngResult = IcmpSendEcho_(lngHPort, lngDAddress, strMessage, Len(strMessage), 0, ECHO, SizeOf(ICMP_ECHO_REPLY), PING_TIMEOUT)

  If lngResult = 0 

    PingResult = ECHO\Status * -1

  Else

    PingResult = ECHO\RoundTripTime

  EndIf

  lngResult = IcmpCloseHandle_(lngHPort)

  ProcedureReturn PingResult

EndProcedure

;Check ob google.de gepingt werden kann.
If Ping("216.239.39.104")>0
MessageRequester("Erfolgreich","Erfolgreich")
;oder dein chat connect code
Else
MessageRequester("Can't connect","Fehler beim Verbinden")
;oder die Fehlerbox weglassen.
EndIf