网络nagle算法的疑问?
大家都知道nagle算法是用来合并小数据发送的,一般会延迟200ms发送。可以合并尽可能大(小于MSS)的数据来发送。这样可以减少网络的阻塞。
现在我疑问的地方是:nagle合并小数据时,是合并应用程序中所有socket要发送的数据还是仅仅针对单个socket发送的数据。
比如说,我创建了3个socket,3个socket都开启nagle算法。这3个socket发送的数据都很小(比如只有几个字节,只发送一次),系统会把这三个小数据合并成一个大数据发送吗?还是说,nagle算法只是针对单个socket来说的。只有在单个socket有多个小数据要发送时,才有可能合并?
谢谢!