31.2. 启用 TCP_NODELAY
TCP_NODELAY 选项会在事件发生时向内核发送缓冲区写入,且无延迟。使用 setsockopt () 函数启用 TCP_NODELAY。
流程
将以下行添加到
TCP应用的.c文件中:int one = 1; setsockopt(descriptor, SOL_TCP, TCP_NODELAY, &one, sizeof(one));- 保存文件并退出编辑器。
应用以下临时解决方案之一以防止性能不佳。
-
在内存中构建连续数据包,然后在配置了
的套接字上将逻辑数据包发送到 TCP。TCP_NODELAY -
创建 I/O 向量,并在配置了
TCP_NODELAY的套接字中使用writev将其传递给内核。
-
在内存中构建连续数据包,然后在配置了