Checking for an internet connectio
Phil Davis
revdev at pdslabs.net
Sat Apr 28 15:30:48 EDT 2012
Hi Peter,
I use "ping" to see if a given server is available. There are fewer bad
things that can happen using this approach than trying to get a URL. The
following code came from a recent project (slightly modified to protect
the innocent) - watch line wraps:
on mouseUp
answer "Connection status =" && app_connectionStatus("google.com")
end mouseUp
function app_connectionStatus pTargetDomain
-- attempt to ping the ctrainweb.com server
switch (the platform)
case "MacOS"
put shell("ping -c 1 -t 5" && pTargetDomain) into tShellOutput
put the result into tResult
break
case "Win32" -- PD 20100411
set the hideConsoleWindows to true
put shell("ping -n 1 -w 5" && pTargetDomain) into tShellOutput
put the result into tResult
break
default -- all other OSes
answer "This app cannot run on the" && the platform &&
"platform."
put param(0) & colon && the platform && "platform not
supported" into tResult
break
end switch
-- check for connection failure
if tResult <> empty
then return false -- failed
else -- connected, but how well?
set the itemDel to comma
if the platform = "Win32"
then
get tShellOutput
filter it with "*(0% loss)*"
else -- Mac
repeat for each item tFilter in "* 0% packet loss*,* 0.0%
packet loss*" -- for different OS versons
get tShellOutput
filter it with tFilter
if it <> empty then exit repeat
end repeat
end if
return (it <> empty)
end if
end app_connectionStatus
HTH
Phil Davis
On 4/28/12 12:12 PM, Peter Haworth wrote:
> Just put together a procedure for checking for software updates from my
> SQLiteAdmin program. All works great but I'm wondering the best way to
> check if there is an internet connection. I tried this out by
> disconnecting my computer from my wireless router and I got an"invalid host
> address" message from libURLErrorData as soon as I called
> libURLDownloadToFile.
>
> I can easily check for that of course but it sounds like that message could
> come back in other circumstances so wondering if there's some other way to
> check for an internet connection before attempting a download.
>
> Pete
> lcSQL Software<http://www.lcsql.com>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
--
Phil Davis
More information about the use-livecode
mailing list