Speaking of sockets...
Bob Sneidar
bobsneidar at iotecdigital.com
Tue Jan 20 19:35:44 EST 2015
I’ve mentioned in the past that if I am unable to connect to a mySQL server (such as going to a location with my laptop and finding their firewall blocks port 3306) it takes close to a minute for LC to release and tell me it cannot connect. During that time LC is completely unresponsive. I needed a way to check first if I can make that connection. I came up with a solution using open socket:
put “mySQLServer.myhost.com:3306|mySQL” into theSocket
open socket to theSocket with callback “isConnected"
wait for messages
put the openSockets into theOpenSockets
if theSocket is in theOpenSockets then
close socket theSocket
-- move along. Nothing to see here
else
-- alert the user. Maybe even put a repeat loop around the whole thingummy
end if
on isConnected
-- stup handler for the callback
end isConnected
This is VASTLY superior to waiting for a minute (or whatever the SQL timeout is) until LC responds. Database commands are blocking. Open socket is not.
Still unsure why the engine cannot do this as a matter of course. I might put in a feature enhancement.
Bob S
More information about the use-livecode
mailing list