Nah, TCP is still just kicking the box over, but just kicking it over again, if the reciever doesn’t kick back a box saying they got it.
Well yes, internally that’s what it does, but from a user perspective it just looks like being handed the package, you never see any of the failed attempts (unless delivery fails completely because the company went out of business). It’s sorta more like having a butler who orders it for you and deals with any potential BS that might happen, and then just hands you the package when it finally arrives in one piece.
UDP seems more like a ball fired from canon to me. You may not be prepared for it and you won’t know what state it’s in when it gets here, but that packet is making it to the gate no matter what. Or, in the rare case it doesn’t, it means someone else is having a real bad time.
You forgot to mention that you might get it twice, or thrice, or more, and in different versions.
You’re right. I forgot that grapeshot is always something to worry about.