Good way to send/receive UDP packets?

notna notna.remove.this at ist-einmalig.de
Tue Jul 21 18:35:34 UTC 2020


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"...


More information about the Digitalmars-d-learn mailing list