function ping()

From wiki.netio-products.com
Revision as of 17:23, 18 April 2017 by Jturon (talk | contribs) (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…“)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Test connection to specified IP or URL using ICMP packet

nil ping{config}

Parameters

table config
  • 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
  • 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}