Difference between revisions of "Function ping()"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
Test connection to specified IP or URL using ICMP packet | Test connection to specified IP or URL using ICMP packet | ||
− | <i>nil</i> <b>ping</b> | + | <i>nil</i> <b>ping</b>(<code>config</code>) |
=== Parameters === | === Parameters === | ||
− | <i>table</i> < | + | <i>table</i> config{<code>address</code>, <code style="color: #777">timeout</code>, <code>callback</code>} |
* <i>string</i> <code>address</code> IP or URL (without http://) to test | * <i>string</i> <code>address</code> IP or URL (without http://) to test | ||
* optional <i>number</i> <code>timeout</code> maximal wait for response (in seconds) | * optional <i>number</i> <code>timeout</code> maximal wait for response (in seconds) | ||
Line 11: | Line 11: | ||
=== Callback Parameters === | === Callback Parameters === | ||
− | <i>table</i> < | + | <i>table</i> response{<code>success</code>, <code>duration</code>, <code>errorInfo</code>} |
* <i>boolean</i> <code>success</code> false = timeout reached, true = response confirmed before timeout | * <i>boolean</i> <code>success</code> false = timeout reached, true = response confirmed before timeout | ||
* <i>number</i> <code>duration</code> response delay (in milliseconds); if not success, duration is <tt>nil</tt> | * <i>number</i> <code>duration</code> response delay (in milliseconds); if not success, duration is <tt>nil</tt> |
Revision as of 22:10, 19 April 2017
Test connection to specified IP or URL using ICMP packet
nil ping(config
)
Parameters
table config{address
,timeout
,callback
}
- string
address
IP or URL (without http://) to test - optional number
timeout
maximal wait for response (in seconds) - function{response}
callback
this function is called when response arrives or timeout is reached
Callback Parameters
table response{success
,duration
,errorInfo
}
- boolean
success
false = timeout reached, true = response confirmed before timeout - number
duration
response delay (in milliseconds); if not success, duration is nil - string
errorInfo
error info in case of failure. If success, it contains "No error, return OK"
Return value
nil
Usage
-- callback function local function logPingResult(o) if o.success then logf("Response lag: %dms", o.duration) else logf("Ping failed, reason: %s", o.errorInfo) end end -- test ping www.google.com ping{address="www.google.com", timeout=10, callback=logPingResult} -- test ping ip address ping{address="77.75.79.39", callback=logPingResult} -- test ping non-existent address ping{address="Pandora", timeout=2, callback=logPingResult}