Comment by CamperBob2

1 month ago

Maybe, maybe not, whatever.

I was testing some low-bandwidth voice chat code using two unloaded PCs sitting on the same desk. I nearly jumped out of my skin when "HELLO, HELLO?" came through a few seconds late, at high volume, after I had already concluded it wasn't working. After ruling out latency on the audio side, TCP_NODELAY solved the problem.

All respect to Animats, but whoever thought this should be the default behavior of TCP/IP had rocks in their head, and/or were solving a problem that had a better solution that they just didn't think of at the time.

Whatever your issue in that setup was, NODELAY had nothing to do with it

  • Then why did it stop happening when NODELAY was used?

    • Hard to say without looking at the complete setup - and probably just a side-effect of the underlying issue. The question is, why did you have such high RTTs? That already points to a different cause.

      I would even argue that NODELAY for a VoIP solution makes no sense - why are you even using TCP instead of UDP in the first place?