12-15-2010 12:24 PM
Hello,
I need to establish a TCP/IP streaming communication against a C++ written application.
I have noticed that a sample application I have made when running on a Windows machine can produce packets as large as 1638400 bytes (which is the size i need to transsmit in every send action) while the same exact application, running on my target cRIO-9025 will break the packets to size 72400 bytes.
Is there a limit to the packets size sent from the cRIO and if not what could cous this behaviour?
Thaks,
Yuval,
LabTunes
12-16-2010 05:02 PM
Hi Yuval,
How are you monitoring the packet size?
Is it possible to send in your code, or a similar code that reproduced the issue, so that we would be able to reproduce the issue here?
<Brian Aswege | Applications Engineering | National Instruments>
12-17-2010 07:33 AM
HI Brian,
Since I wrote that post a day another working day has passed and i have learned some new things.
I have downloaded a TCP/IP spy program and monitored the traffic. It seem that TCP/IP sends a constant packets of 1500 bytes (obviously, why couldn't I think of that at first place) the only difference is at the receiving side. Labview TCP/IP read function has, I presume, a transparent buffer used in "buffered mode". In that case I get big packets while when using "immediate mode" the TCP/IP read function works the same way as the C++ program does.
Anyway, when I compare the packets received from the same VI while running on the RT target to those while running on a PC, the second seem to be able to create larger & constant packets (or pseudo packets) at the C++ receiving end then those from the RT. In any case the receiving program will have to accumulate those packets to a FIFO in order to create an internal constant data stream.
So as it seems to be my problem is no longer a problem, but at least I have learned something new.
Thanks for your help,
Regards,
Yuval