On 9/21/07, Joe Yoder <[EMAIL PROTECTED]> wrote:
> I want to plot ping times to a remote site under VFP.  Is there an ActiveX 
> control with the ping function available?
>
> Another suggestion?
>
> TIA - Joe Yoder

* by [EMAIL PROTECTED]
* with LOTS of help from (actually; all the hard work by) Markus Voellmy
*
* ?ping("jassing.com",80) would check jassing.com to be sure it's
running a web server
* NOTE: it does not do any dns lookups; so if you're checking for a
mail server, you need
*       to resolve the mx record yourself.
#DEFINE sckClosed                               0
#DEFINE sckOpen                                 1
#DEFINE sckListening                    2
#DEFINE sckConnectionPending    3
#DEFINE sckResolvingHost                4
#DEFINE sckHostResolved                 5
#DEFINE sckConnecting                   6
#DEFINE sckConnected                    7
#DEFINE sckClosing                              8
#DEFINE sckError                                9

FUNC PingState
  LPARAM tnState
  LOCAL lcState
  DO CASE
  CASE tnState = sckClosed
    lcState = "Closed"
  CASE tnState = sckOpen
    lcState = "Open"
  CASE tnState = sckListening
    lcState = "Listening"
  CASE tnState = sckConnectionPending
    lcState = "Waiting"
  CASE tnState = sckResolvingHost
    lcState = "Resolving"
  CASE tnState = sckConnecting
    lcState = "Connecting"
  CASE tnState = sckConnected
    lcState = "Connected"
  CASE tnState = sckClosing
    lcState = "Closing"
  CASE tnState = sckError
    lcState = "Error"
  OTHERWISE
    lcState = "Unknown"
  ENDCASE
  RETURN lcState

FUNC ping
  LPARAM tcServer, tnPort
  LOCAL lnState, loPing, lnLast
  DECLARE INTEGER OutputDebugString ;
    IN kernel32 ;
    AS dbgout;
    STRING cString
  loPing=CREA("mswinsock.winsock")
  WITH loPing
    .remoteport=tnPort
    .remotehost = tcServer
    .CONNECT()
    lnLast = -1
    DO WHILE .state < sckConnected
      IF lnLast # .state
        dbgout( "Ping State: "+PingState( .state ))
        lnLast = .state
      ENDIF
    ENDDO
    dbgout( "Ping State: "+PingState( .state ))
    lnState = .state
    .CLOSE()
    dbgout("Ping State: "+PingState(.state))
  ENDWITH
  RETURN lnState#9
ENDFUNC


_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/[EMAIL PROTECTED]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to