socket 的读写超时时间超过十分钟,数据包会重传16次。参考:http://my.oschina.net/lowkey2046/blog/694229
我们可以通过设置 socket 选项 SO_SNDTIMEO 和 SO_RCVTIMEO 来减少读写 socket 的等待时间。
1. 程序源码
在源码 http://my.oschina.net/lowkey2046/blog/693852 基础上进行修改。
在创建 socket 后,通过 setsockopt 函数修改读写超时时间即可。测试时只修改客户端 socket 的超时。
client
int main(int argc, char **argv)
{
struct timeval tv;
/*
* 省略
*/
if ((sockfd

本文介绍了如何在Python中设置TCP套接字的读写超时时间,通过修改socket的SO_SNDTIMEO和SO_RCVTIMEO选项。作者进行了测试,当服务端断开网络连接时,客户端在超时后会终止,系统仍会持续重传数据包。文章还探讨了超时设置不会阻止系统的TCP重传机制,并讨论了write函数成功并不意味着数据已被接收的问题。

最低0.47元/天 解锁文章

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



