Socket Accept/Connection Question/Problem
JimAultWins at yahoo.com
Thu Feb 28 11:50:50 CST 2008
On 2/28/08 8:35 AM, "Dave" <dave at looktowindward.com> wrote:
> On 28 Feb 2008, at 16:10, Troy Rollins wrote:
>> On Feb 28, 2008, at 9:54 AM, Dave wrote:
>>> Statement should call "ClientSocketOpen" if the Server accepted
>>> the connection or call "socketError" or "socketTimeout" if there
>>> was an error? e.g. the Server closed the socket?
>> FWIW, I'm finding the whole "state of sockets" to be a bit of a
>> conundrum as well. In my case, the client is not Rev, and it does
>> indicate once a socket connection is made. However, Rev is acting
>> as the server, and it seems hit or miss on determining if the
>> client has disconnected.
> Great. It seems like a lot of RunRev, just bearly working if you know
> *exactly* what to do and with no documentation and no support from
> RunRev themselves, the whole experience one of frustration and suck-
> it-and-see mentality.
Actually, sockets are controlled by the operating system, so there are wide
variations, even within XP. Firewall hardware and software, routers, hubs,
ISP protocols, and other device performance.
To build a solid networking app you need to learn a lot about the world of
protocols and idiosyncrasies, regardless of the programming language. I had
to deal with an IPSEC tunnel last summer, and fortunately I was able to rely
on a good programmer who already knew this area.
Rev has the tools and functions to build this, but you have to tune it to
your equipment and configurations.
tip: If your are using UDP and MacOSX, and testing for max packet size your
equipment will allow, be sure to
go to system prefences:network:ethernet
change from automatic to manual
then set your max packet size to jumbo vs 1500 default
Otherwise, OSX will receive larger packets but not pass them to your Rev
app. This will be a silent failure and undertectable without an ACKNOWLEDGE
loop that you would build.
By the way, I routinely build an ACK loop between my apps since networks are
good at providing surprises.
Hope this helps
More information about the use-livecode