Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
udp_vs_tcp_ip [2011/02/23 15:12] – ba | udp_vs_tcp_ip [2017/11/07 22:26] (current) – external edit 127.0.0.1 |
---|
====== TCP vs UDP ====== | ====== TCP vs UDP ====== |
| |
We recommend to use UDP instead of TCP if possible because the benefit of the TCP to get the correct message, or in the worst case a error is not fully guaranteed by now (23.02.2011 Empoli SP1). The aplication must take care of the transfer control (Adding a checksum or similar to check for correctness and sending and evaluating of acknowledgments). | UDP is the preferable choice, if you do not need to implement a protocol that requires TCP (eg HTTP SMTP etc.) When a proper master slave structure is chosen, it is no big deal to make the UDP reliable. All you need is to implement a checksum and check if the master gets a correct answer on every command. |
Schmid Engineering plans to implement simple vis to enable a reliable connection. The [[tc_addon|TC addon]]. | |
| |
TCP ([[WP>Transmission_Control_Protocol]]) and UDP ([[WP>User Datagram Protocol]]) are protocols to send messages and datas over the internet. | TCP ([[WP>Transmission_Control_Protocol]]) and UDP ([[WP>User Datagram Protocol]]) are protocols to send messages and datas over the internet. |
| |
| ^TCP ^UDP | | | ^TCP ^UDP | |
|**limitations with LabVIEW embedded** |The TCP functions never time out. They can only be interrupted by a timed loop with higher priority. Therefore a **complex framework** has to be implemented\\ Messages can get lost or corrupt without notification (Empoli SP1)\\ [[tcp_error|Error cluster]] does not behave like expected |The Zsystem targets cannot receive packets larger than 1480 bytes (Fragmented IP packets are not fully supported) Sending of larger data packets is no poblem.| | |**limitations with LabVIEW embedded** |The TCP functions never time out. They can only be interrupted by a timed loop with higher priority. Therefore a **complex framework** has to be implemented |The Zsystem targets cannot receive packets larger than 1480 bytes (Fragmented IP packets are not fully supported) Sending of larger data packets is no poblem.| |
|packet order |organized by the protocol |must be organized by the application if required| | |packet order |organized by the protocol |must be organized by the application if required| |
|protocol overhead |moderate (~4 seconds to open a connection receive a message send a answer and close the connection again) The transmission is much faster when the connection is held open |minimal| | |protocol overhead |moderate (~4 seconds to open a connection receive a message send a answer and close the connection again) The transmission is much faster when the connection is held open |minimal| |