10-25-2006 05:56 AM
10-25-2006 07:34 AM - edited 10-25-2006 07:34 AM
You should post this message in the LabVIEW message board.
Do you know how many bytes to expect? Are you reading all of them? A simple implementation is to have the first byte be the lenght of the packet. So you would read the first byte first and then read the rest based on the first byte's value. You may want to post your VI (or equivalent example) so we can see what you are attempting. An explanation of the data being sent wouldn't hurt either.
Message Edited by paulmw on 10-25-2006 07:34 AM
10-26-2006 01:47 AM
10-26-2006 07:17 AM
You may want to try an Ethernet network protocol analyzer program. Ethereal, which looks like it is now called Wireshark, is a good tool to capture all the trafic comming to your network device. It is free to download. With this tool you should be able to comfirm that your device is infact sending all 200 packets.
I would assume that it would be buffered fine (500 bytes is not a lot) but I am not an expert by any means. Are you doing a read of 100 bytes for each read? Does the read timeout?
I suppect that your device stops sending data since you do get 5 of those packets (use Wireshark to see if there is any other data). If you are worried about the buffering, can you implement a protocol where your device only sends one packet at a time and waits to send the next packet until your host acknowledges that it receive the packet?
10-27-2006 01:28 AM
10-27-2006 02:46 AM
HI,
How TCPread and TCPWrite VIs work? Do they handle Ack number and seq numbers?
While sending, what Ack and Seq Numbers TCPWrite use? Is it from recently received packet?
Waiting for the reply..
10-27-2006 03:33 AM
You should really post this question in the LabVIEW forum as Paul already suggested: only a few users of this board use LV as well as CVI and it may be that they have never used these vis, as it is my case.
Since you are now digging into the specific of some VI, it's better that you address the right community of users.
10-27-2006 10:51 AM
All of the ack's are handled by the low-level TCP protocol, not LabVIEW. You don't have to send or wait for any ack's. The TCP functions in LabVIEW operate like the TCP functions in any other language. All the user has to deal with is sending data to a specified ip address and port and waiting for connections.
-Justin D
10-27-2006 11:31 PM
Thanks for the information.
Should I handle any timing issues here?
10-31-2006 11:55 AM