Solution
This KnowledgeBase applies to a specific corner case. To determine if this case applies to your system, first follow the instructions in Configuring LabVIEW, LabVIEW DSC, NI Variable Engine and Lookout to Work with the Windows Firewall, then use one of the following methods.
- Disable the firewall on the server that hosts the shared variable and rerun the client application. If the error goes away, this issue likely applies to your system.
- Check the version of C:\Windows\System32\lkads.dll on the client and the server. If the client is running version ≥ 5.1.0 and the server is running version < 5.1.0, this issue likely applies to your system.
- Use a network monitoring application to view TCP and UDP traffic from the client to the host system. From the client, open a DataSocket connection to the PSP URL of a variable on the server. If you see a TCP request on port 2343 and then get error 56 in the client application, this error likely applies to your system.
All versions of LabVIEW running on a system use the same Logos protocol stack to communicate with LabVIEW Shared Variables. This issue affects variable clients that have the 2009 Logos protocol stack (or later) connecting to a system running the 8.5 or 8.6 stack when the Windows Firewall (or another firewall with similar behavior) is enabled on the server.
The firewall will silently ignore a request for a blocked TCP port. This behavior is likely to frustrate port scanning attacks. As a result, the Logos protocol receives no indication that the port is not available until the 20 second TCP connection timeout expires. The application gives the error after the timeout is reached. In order to resolve the issue, use one of the following methods.
- Upgrade the server system to use the 2009 Logos protocol stack. Install the same software as on the client, and verify that C:\Windows\System32\lkads.dll upgrades to ≥ 5.1.0 on the server. This resolves the issue because lkads.dll uses its firewall exception to open port 2343.
- Add an exception to the server's firewall for TCP port 2343.
- Increase the timeout on the DataSocket Open function.
- Contact National Instruments technical support for other options.