01-07-2016 03:57 AM
Hi all,
I have an application which communicates using network streams. My applications are designed in a way that
In LabVIEW environment, when I simulated this scenario of one receiver and two sender, the communication is very fine. Whereas, if I do it in executable mode, only the communication is bridged between first sender and the reader. If the the secnod sender tries to connect to the receiver, I get the error −314350
−314350 | Another application is already streaming data to an endpoint in the context you specified. If you specified a context name in the reader name or writer name terminal of the endpoint, you must specify an unused context name. If you did not specify a context name, you must specify an unused context name by entering an endpoint URL in the reader name or writer name terminal. |
I have attached the sample I used for testing this. Below is the animation of the error.
Why does this error occurs here? Is that network stream allows only one endpoint in an executable?
Error In Executable:
No Error In LabVIEW Environment:
Thanks,
Ajay.
Solved! Go to Solution.
01-07-2016 04:23 AM
01-07-2016 04:30 AM
I think the problem here comes from the fact that you are not taking care of the names of executables in the stream name definition. Tho correct way to construct a name of the stream you want to connecto to is:
//IP:ApplicationName/ReaderOrWriterName
ex. //localhost:MyReaderApp/Reader
This is because the network stream engine needs to be able to find the app you want to connect to on the system.
More details here:
http://forums.ni.com/t5/LabVIEW/Network-streaming-stand-alone-application/m-p/2464202#M755351
http://zone.ni.com/reference/en-XX/help/371361J-01/lvconcepts/endpointurls/
These requirements also apply when using Reconnecting Network Streams. They simplify this a little but because they have a mechanism to determine the right context(app name) for an application, but you still need to provide that context on the other side of the stream.
In LabVIEW they will work correctly because the LabVIEW context is known by default. Any other context needs to be specified.
Does this help?
01-07-2016 07:57 AM
@Sam_Sharp & @Poitr,
Thanks both of you 🙂 . You are correct that I missed exactly "Context name" of the streams. When I gave the stream names as below, the issue got fixed and works fine.
//localhost:Receiver/Reader
//localhost:Sender/Writer
//localhost:Receiver/Reader new
//localhost:Sender New/Writer new
I'm yet to do this in my main application code. I will keep posted if I'm facing any more issues.
I hereby attached the issue fixed code for reference. Anyone having similar issue may correlate my previously posted code and this code.
Thanks again for this help,
Regards,
Ajay.
07-31-2019 02:28 AM - edited 07-31-2019 02:31 AM
have had the same problem. in my case i figured out that it is also Importend to give the right reader name. Taking care of the write name is not enought. I build a connection between 2 computers, see the atached picture for the configuration