35.2. 启用 TCP_NODELAY
当发生事件时,TCP_NODELAY
将缓冲区写入内核,且无延迟。使用 setsockopt
命令启用 TCP_NODELAY
。
流程
使用
setsockopt
命令启用TCP_NODELAY
。# int one = 1; # setsockopt(descriptor, SOL_TCP, TCP_NODELAY, &one, sizeof(one));
应用其中一个 follwing 临时解决方案以防止性能下降:
-
在内存中构建连续数据包,然后将逻辑数据包发送到使用
TCP_NODELAY
配置的套接字上的 TCP。 -
创建一个 I/O 向量,并使用
writev
在配置了TCP_NODELAY
的套接字上的写入v 传递给内核。
-
在内存中构建连续数据包,然后将逻辑数据包发送到使用