2 ms·
The 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 pa
by anizan 10y ago
The 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 10y 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).