Error -314350 When Running Executables That Uses Network Stream Connection in LabVIEW

Updated Oct 30, 2025

Reported In

Software

  • LabVIEW

Issue Details

I've created a LabVIEW code that runs under cRIO. It has two different while loops and two different Network Stream Writer Endpoints.
On the other hand, I have 2 VIs that run under PC, and each of them has a single Network Stream Reader Endpoint. I created a configuration described in Specifying Network Stream Endpoint URLs

 


The code works fine in LabVIEW; however, when I create executables from Application B and Application C, I always get this error when I run the second executable:

Error -314350 occurred at <name>.vi


Possible reason(s):

LabVIEW: 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 write 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 write name terminal.

 

Solution

The root of the error is the URL of a Reader endpoint on the PC side. In the PC VIs, the context_names of readers are most likely not specified, and because of this, only one executable can communicate with the target. To solve the issue, update the configuration to use different context_names

 

On the Host VI, modify the string input Reader name of Create Network Stream Reader Endpoint VIs so that it is in the format described in Specifying Network Stream Endpoint URLs:

ni.dex:// host_name : port number/context_name / endpoint_name 

For example, assign //localhost:application1/reader as the reader's name of Application B and //localhost:application2/reader in Application C.

See the attached example, where the described configuration was implemented.

 

If, after modifying the context name, you encounter the same problem, you can try specifying the port numbers in the Host VIs. By default, both VIs pick the same port number:

//localhost:5000/application1/reader as the reader's name of Application B, and //localhost:5002/application2/reader in Application C.