【发布时间】:2012-10-06 03:36:30
【问题描述】:
假设我想在 Solaris 中禁用 Nagle 算法(用于实时传输数据),其中进程之间的连接是使用本地环回建立的,这会不会有问题。至于我的理解,Solaris 中的本地循环确实启用了 TCP 融合(有点类似于 Unix 域套接字)以减少堆栈使用的开销。 它们是相关的还是相互排斥的?我的疑问基本上是它会产生任何影响吗?
另外我想澄清一下是否可以禁用 Nagle 的算法以进行本地环回通信?
我知道我可以使用 TCP_NODELAY。可能我需要澄清更多:1)在禁用Nagle算法的本地循环中会发生什么(默认情况下始终启用)。 TCP 堆栈会等待 MSS 还是会立即将数据推出堆栈。 2) 默认情况下,在 solaris 中启用 TCP 融合以加快读写速度。如果禁用 Nagle 是否会产生任何问题。最后我想要的是数据应该实时发送,没有任何延迟。所以我必须禁用Nagle还是TCP融合就足够了。
【问题讨论】:
标签: network-programming solaris