I am designing a method for multiple application instances to coordinate an action across a network. I have previously implemented this using queues for coordination of asynchronous VIs within a single application instance. I now need to make this work across a local network. I have been looking at network shared variables, network streams, TCP/IP, UDP. I would like to know if anyone else has accomplished this and what you learned along the way.
The basic requirements are:
N number of independent applications need to coordinate some action (essentially a rendezvous).
No one application knows if the others exist. (don't know their IP or anything about them)
No one application knows if it will be the first to join or will join later.
All applications will share a common name for the rendezvous.
The first application should create the rendezvous
As other join, they should see that the rendezvous already exists and join it instead of creating a new one.
All applications should be able to see how many have joined.
When all applications depart, the rendezvous should be destroyed by the last one to leave.
Thanks for any tips or examples you can share.
-John