Hey guys and girls, just after some pseudo-style help here...
I have a computer that is connected to a piece of hardware that I'm collecting data from and that I want to share that data with other computers on my network. This data is real-time and inbound at about 480kbps.
I want an unknown number of clients to be able to connect to my main (server) VI and be able to see this data but I'm unsure of the best method of distributing the data.
I know I will use TCP/IP to transmit my data and I already have a VI that allows me to send and receive data between two networked PCs. My problem is I don't understand the best way to deliver the data to more than 1 person.
Would I have to send each client all of the data individually, creating a queue of clients to send to? Or would it be better to have clients just "read" the data from the server application? If so how could labview do this? Would I hold the data in a table? Local/Global vars? On disk in a file? I want to avoid race conditions and also am wary of processor loading.
For example let's say my data is 10 binary words and I receive "new" data at 25Hz.
Should I send each client all of the data once they are connected? If so can anyone suggest a pseudo-method for doing so?
Or would I be better off having a client request the specifc word's (data) it is interested in and then just send that (reducing network loading etc.)
The most important thing is being able to distribute the data in real-time to everyone - and I can't use UDP, only TCP/IP if possible,
What's the best method for me to attack his problem? Any help greatly appreciated!
Thanks