Hello all,
With UDP and TCP/IP, the header for the packet contains a CRC or similar for error checking right? What I'm wondering is if the application is responsible for verifying the contents, or will the protocol drop the packet if it is corrupted? (i.e., doesn't pass the CRC check)

Posted on 2002-08-19 13:59:24 by chorus
UDP/TCP will guarantee that the packets are correct so your application doesn't need to worry about it.

Posted on 2002-08-19 14:05:48 by Thomas
Thank you for clarifying that for me Thomas

Posted on 2002-08-19 16:22:20 by chorus
Isn't packet integrity verification done at Ethernet level? Or does TCP include one too?
Posted on 2002-08-19 22:12:59 by comrade
Your TCP/IP driver verifies that the packet is correct.

with UDP the packet is 'lost' i.e. the system deletes it and keeps quiet about it (sneaky huh?)

With TCP the remote connection is sent a NAK packet and it then has to send it again.

This is one of the reasons why you have guaranteed delivery with TCP packets.

You can also lose them because of servers ditching them because their queues are full, in which case you would never even get them, using UDP you would never know the difference between a bad CRC in a packet and a packet which was never delivered.

Posted on 2002-08-20 02:47:10 by umbongo
As umbongo stated, when using UDP, your app is responsible for a) Getting every packet (if needed) and b) Putting them in order
Posted on 2002-08-20 03:02:41 by eet_1024