LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

TCP Packet Size Limitations

You don't have to worry about the lower OSI layers. For all practial purpose, TCP is just a pipe. That's the beauty of it! 🙂
 
You don't need to care what voltage is used on the ethernet cable, the microwave power for WIFI, how to package bits into packet suitable for the current transport mechanism, initiate the threeway handshake for TCP, break down the connection, set the push bit in the TCP header is the transmit buffer is emptied, reassemble the data when packets arrive out of order, arrive twice, or get fragmented by an intermediary device, encrypt stuff for a VPN leg of the connection, etc.etc...
 
...you don't even care if one of the links uses RFC1149 😄
(This was one of the "funny" RFCs as they typically appear on April 1. It suggested avian carriers for the transmission. A linux group in Norway took up the challenge to implement it. See http://www.blug.linux.no/rfc1149/ for details. A nice story!)
 
So, what were the exact problems you had. Error messages?
0 Kudos
Message 11 of 14
(1,209 Views)
So, what were the exact problems you had. Error messages?

It's been some years, so I don't remember the exact message, nor the exact symptoms.

But I proved it again and again at the time.

It's just been in my head since then, and I've broken up every transmission, until now.

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 12 of 14
(1,200 Views)


@CoastalMaineBird wrote:
Oh. I misunderstood the "you need to strip away some bytes for overhead" part of your post.

So you agree that there should be no problem?

I wonder why I experienced the problem a while back?

I know that I spent enough time on it to verify that I could send N, but not N+1 in a single operation.

If I send a megabyte file with a single TCP WRITE, is it synchronous, or asynchronous? Is it going to hang my program until all the bytes go out the wire, or do they go into a buffer somewhere for the OS to handle?

I guess I can find that out myself...


This should be all handled by the socket library and protocols such as TCP/IP and UDP should not have any issues with packet size limitations. If they have it is a bug in the socket library of the platform you are using. Could it be that you remember a project with older CompactFieldpoint or similar hardware?
Because I think there had been a bug in the socket implementation on one or more of those hardware platforms in the past where fragmentation was not handled properly resulting in errors when you tried to transmit more data than what would fit in a single Ethernet frame.

Rolf Kalbermatter

Message Edited by rolfk on 03-02-2007 08:44 AM

Rolf Kalbermatter
My Blog
0 Kudos
Message 13 of 14
(1,183 Views)
Could it be that you remember a project with older CompactFieldpoint or similar hardware?

No - my problem appeared when attempting file transfer between two computers, both using LabVIEW 4 or 5.

No other hardware was involved, except whatever networking gear was between them.

Thanks.

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 14 of 14
(1,170 Views)