Comment by Animats
2 years ago
The sending pattern matters. Send/Receive/Send/Receive won't trigger the problem, because the request will go out immediately and the reply will provide an ACK and allow another request. Bulk transfers won't cause the problem, because if you fill the outgoing block size, there's no delay.
But Send/Send/Receive will. This comes up a lot in game systems, where most of the traffic is small events going one way.
I would imagine that games that require exotic sending patterns would use UDP, giving them more control over the protocol
Size prefixed messages are pretty common, perfectly possible to perform as one send but takes more work.