在linux环境下使用netstat -an|grep tcp,查看当前与10.51.5.10地址的tcp连接已消失
但是程序中对该连接调用recv函数没有报错。代码如图,一直没有走到画线的这个分支里。还能对该套接字进行send,只是一直是发送失败状态。

2个多小时之后,才进入划线分支,recv返回值为0,errno为107。

请问这个情况是什么原因导致的,代码层面能不能缩短进入上述分支的时间呢。目前没有设置keepalive,如果设置了行不行呢。
文章讨论了在Linux环境中,使用netstat和grep检查与10.51.5.10的TCP连接异常,尽管recv函数未报错但长时间无响应。作者疑惑为何recv会超时,并询问是否启用keepalive能否改善这种情况。
在linux环境下使用netstat -an|grep tcp,查看当前与10.51.5.10地址的tcp连接已消失
但是程序中对该连接调用recv函数没有报错。代码如图,一直没有走到画线的这个分支里。还能对该套接字进行send,只是一直是发送失败状态。

2个多小时之后,才进入划线分支,recv返回值为0,errno为107。

请问这个情况是什么原因导致的,代码层面能不能缩短进入上述分支的时间呢。目前没有设置keepalive,如果设置了行不行呢。
2100
4148

被折叠的 条评论
为什么被折叠?