TCP_NODELAY有效果吗?

superhard_d 2010-03-26 11:33:09
写了一段代码,connect之后多次send小数据包,但是在接收端是一次收到的,于是用下面代码

const char chOpt = 1;
int nErr = setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &chOpt, sizeof(char));
if (nErr == -1)
{
closesocket(sock);
}

可接收端仍然是一次收到。
然后我尝试性的在send后面加了一句recv,我所希望的结果实现了,每次recv的时候会把send的数据发出去,请高手给讲解一下这里面的原因,谢谢!
...全文
179 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
superhard_d 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lijianli9 的回复:]
recv后你阻塞了一下,
看你发送的小数据包的大小了,你不用nigle算法,只是希望底层不这样做,
[/Quote]
那就是说TCP_NODELAY这个东西实际上没有用处了?
lijianli9 2010-03-30
  • 打赏
  • 举报
回复
recv后你阻塞了一下,
看你发送的小数据包的大小了,你不用nigle算法,只是希望底层不这样做,
superhard_d 2010-03-30
  • 打赏
  • 举报
回复
还是没人回,顶起来!!!!!!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧