Difference between revisions of "Function ping()"
Jump to navigation
Jump to search
(Založena nová stránka s textem „{{DISPLAYTITLE:function ping()}} Test connection to specified IP or URL using ICMP packet <i>nil</i> ping{<u>config</u>} === Parameters === <i>table</i…“) |
|||
(3 intermediate revisions by the same user not shown) | |||
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> ping | + | <i>nil</i> <b>ping</b>(<i>table</i> <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> < | + | * <i>string</i> <code>address</code> IP or URL (without http://) to test |
− | * optional <i>number</i> < | + | * optional <i>number</i> <code>timeout</code> maximal wait for response (in seconds) |
− | * <i>function{response}</i> < | + | * <i>function{response}</i> <code>callback</code> this function is called when response arrives or timeout is reached |
=== Callback Parameters === | === Callback Parameters === | ||
− | <i>table</i> < | + | <i>table</i> response{<code>success</code>, <code>duration</code>, <code>errorInfo</code>} |
− | * <i>boolean</i> < | + | * <i>boolean</i> <code>success</code> false = timeout reached, true = response confirmed before timeout |
− | * <i>number</i> < | + | * <i>number</i> <code>duration</code> response delay (in milliseconds); if not success, duration is <tt>nil</tt> |
− | * <i>string</i> < | + | * <i>string</i> <code>errorInfo</code> error info in case of failure. If success, it contains "No error, return OK" |
=== Return value === | === Return value === |
Latest revision as of 18:25, 5 May 2017
Test connection to specified IP or URL using ICMP packet
nil ping(table 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}