3 ms·
> It's pretty easy to make your own error/sequence checking for UDP. At which point you've just re-invented TCP - and likely without the 30 years of weird/odd
by pwg 11y ago
> It's pretty easy to make your own error/sequence checking for UDP.
At which point you've just re-invented TCP - and likely without the 30 years of weird/odd edge condition handling that TCP currently contains.
- anizan 11y agoThe problem with TCP is that it abstracts data delivery as a reliable ordered stream. Because of this, if a packet is lost, TCP has to stop and wait for that packet to be resent. This interrupts the steady stream of packets because more recent packets must wait in a queue until the resent packet arrives, so the packets may be presented in order. Found something interesting here http://gafferongames.com/networking-for-game-programmers/reliability-and-flow-control/ http://gafferongames.com/networking-for-game-programmers/rel...
- pwg 11y agoHow do you plan for your magic "easy" error/sequence checking for UDP system to be able to avoid this TCP issue? In order to "error check" it will need to ask for retransmits of packets with errors (which will interrupt the steady flow). In order to sequence check it will also have to request retransmits of missing packets (which will interrupt the steady flow, and here you'll get the same queue wait incurred by more recent packets while the retransmit occurs so you can reassemble the original sequence).