On Tuesday, 21 July 2020 at 13:05:21 UTC, wjoe wrote:
On Sunday, 19 July 2020 at 09:48:24 UTC, notna wrote:
Someone once wrote about a UDP library, which was used to sync data to somewhere in APAC (Hongkong?) and by doing so the data transfer was magnitudes faster then before (over TCP)...


In the best case scenario, and orders of magnitude more unreliable otherwise.

Choosing UDP over TCP because speed is like choosing a hammer over a screwdriver to drive in a screw because it works and is faster. But it's still the wrong tool for the job.

UDP is a protocol for broadcasting messages which means it's connection less, unreliable (as in no guarantees for delivery of datagrams or that they'll be delivered only once, order i.e. datagrams sent in order A B C D can be delivered like e.g B C A D), and data integrity.
It's insecure (as in everyone who listens can receive it).

Once you need any of these features/guarantees you'll lose performance just as you would by using TCP, plus you pay the cost for re-inventing the wheel, bugs, testing, maintenance, support and all.

UDP is the protocol of choice when you want to broadcast, the data you send isn't important or the TCP overhead is bigger than the transmitted message. Like broadcasting radio/podcasts, weather updates for your status bar or some such or DNS queries.

If you need reliable transmission you need to use a reliable protocol.

well, I guess all your remarks are true... and irrelevant at the same time.

please go back and read his first post.... starts with "I have a project where I need to take and send UDP packets over the Internet"...

Reply via email to