Hi,
Yes, you are correct about using Read and Write, especially using ReadUntil. ReadUntil would just block all threads until the pattern is reached (or error or timeout occurs) and may not be what you want for your setup. You can try calling Read with a small byte count in a loop and then matching the pattern yourself - this may be the best solution though a little cumbersome. Both the threads should be able to call read in their loops and get the output from both instances of your app concurrently. If you do this, I would recommend starting out with a read byte count of 1, and having a Sleep call in your while loop.
Basic telnet is not a very difficult protocol, and there is some sample code that shows how one can do telnet with the CVI TCP library and get the output in a callback at the following link:
http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=F741A0C94BC44CABE0340003BA7CCD71
If the read-loop solution does not work out, you may want to try getting the output in different threads using callbacks with the above code. I would recommend the read-loop solution over this because it should be easier to implement and debug compared to this, and callbacks come at a price and might be slower.
Best regards,
Mohan