On 15/01/2021 14:46, matthias rebbe via use-livecode wrote:
Alex,
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
IDE.
Finally,
- when in doubt during testing - first reset the server, then the client.
Good luck,
Alex.
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode