LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

UDP write error 55 when sending video over network

 


@benO-IT wrote:

Hello Rolf,

 

 

For my test bench, the tranfert with UDP message was a test for the Device Under Test. And i have to send lot of little packets to the DUT. I was working on the same PC with video player (like VLC) with the expectede rate, and with LabView, it was impossible to have the same transfert rate with little packets. There is a limitation on LabView. I think that N.I. should optimize the 'UDP write function'.


While I think that there would be some room to improve the network operation in LabVIEW somewhat, I'm quite sure that there will be no way to give you the necessary control over socket access from the existing network API in LabVIEW to reach VLC capabilities. VLC does use the socket interface in very specific ways that is optimized for streaming data, but fails quite badly on fully reliable data transfer. LabVIEW's network interface API on the other hand is specifically designed to give you maximum reliability and some control of it but has no architecture that would support high throughput streaming. That would require quite a different API design that would in terms of complexity probably come close to DAQmx. It could be done of course, but the cost would be immense and the benefit would be for only very few. Most who need to go that road will use external applications or libraries anyhow, since they are more familiar with an other environment (C++ for instance) for this task or they already have the code available.

 

 

NI couldn't really create much of additional business with such an API and as a commercial company that is one of their main reasons to do a specific development.

Rolf Kalbermatter
My Blog
0 Kudos
Message 21 of 23
(1,335 Views)

Caleb,

 

I inherited the project from another engineer therefore I don't know whether a manufacturer specific driver was used originally. My first guess was also that Vista has better network stack optimization. I've seen it mentioned in a few online posts but not sure how reliable those sources were. One thing I did notice was when I did a QueryPerformanceCounter using Labview, the frequency appeared to be slower this time around, approx. 3.5 MHz whereas I could have sworn I was seeing approx. 14 MHz when I was running Vista. I thought the system clock freq. was hardware depenedent so it shouldn't matter if I was running Vista or XP?

 

In any case I was able to get around the error 55 issue by creating a while loop that re-attempts to do a UDP write when the error shows up. Just as a previous poster in this topic did. I also achieved extermely high throughput after implementing this method.

 

Thanks,
671 

0 Kudos
Message 22 of 23
(1,324 Views)

Had the same problem.  Wired the error output from UDP write function to a shift register, an use the value as input just upstream of the UDP write function.  

0 Kudos
Message 23 of 23
(1,032 Views)