08-05-2014 11:51 AM
Hello,
I made a server application using LabView. The application translates simplified data from one device and translates them into more complex protocol with another party. The problem is, that the responses initiated by my app take too long. I tried to analyze the response times in wireshark, and the network adapter accepts the data at given time, but the labview function "TCP/IP read" returns them with delay, sometimes several seconds.
The application is using the async calls to execute the communication modules for each client parallel.
Solved! Go to Solution.
08-05-2014 12:58 PM
How long is the TCP Timeout? What mode are you using for the TCP Read? Can you share your code, or a screenshot of the relevant section? If you are asking for more bytes than you are receiving, and you're using the default mode, then it will wait until the timeout before returning any data.
08-05-2014 01:01 PM
I had a common tcp/ip read function nonreentrant for all the cloned communication modules, so they were blocking the execution for each other (facepalm).
08-05-2014 01:42 PM
@Bublina wrote:
I had a common tcp/ip read function nonreentrant for all the cloned communication modules, so they were blocking the execution for each other
(facepalm).
It's like a badge of honor. 😉
08-05-2014 01:57 PM
@billko wrote:
@Bublina wrote:
I had a common tcp/ip read function nonreentrant for all the cloned communication modules, so they were blocking the execution for each other
(facepalm).
It's like a badge of honor. 😉
I just hate when it happens, because I know I went through that code before and fixed all thse kinds of deadlocks, but some debugging probably forced me to change the execution system.