opened socket in IDE prevents script changes
alex at tweedly.net
Fri Jan 15 12:22:57 EST 2021
On 15/01/2021 14:46, matthias rebbe via use-livecode wrote:
> for a new project which should include socket communication i have to prototype a short "demo" and i was already wondering if i need to have running 2 instances of the LC IDE for development.
> But now you wrote that you had one server and even multiple client stacks opened in LC.
> So do i understand it correctly that both, server and client stack, can communicate with each other using sockets in one instance of the LC IDE?
Yes. A couple of cautions ...
- make sure your handlers are carefully named
I had a bad habit of using the same name (_gotpacket) each time I
wrote a socket-handling stack,
so I had 'open socket ... with message "_gotpacket" '
and then I used the same name when I wrote the server !!
- beware "resetall". In the server stack, I do something like
> -- would usually do
> -- resetAll
> -- but this causes problems with testing when you have both a client
> -- and a server within the IDE of Rev
> -- so here we will only reset those opensockets which have no
> 'host' part
> -- intending this to be the ones which we have a current 'accept'
> repeat for each line tSock in the openSockets
> if ":" is not in tSock then close socket tSock
> end repeat
and in the client stacks I do the inverse (if ":" is in tSock ...). Note
this is still a problem when you have multiple client stacks in the same
- when in doubt during testing - first reset the server, then the client.
More information about the use-livecode