gpt4 book ai didi

linux - 为什么epoll_wait(),在5s~10s后返回,TCP连接超时

转载 作者:可可西里 更新时间:2023-11-01 02:34:35 26 4
gpt4 key购买 nike

我创建了一个非阻塞套接字,然后使用 epoll 来管理套接字。我没有在 epoll_wait 上设置超时。但是我发现 epoll 在 5s 到 10s 内返回,然后我检查 SO_ERROR 上的 getsockopt,发现连接超时。为什么这么短的时间就超时了?

我尝试使用工具来限制 TCP 包。场景是这样的:

当我的客户端发送一个 SYN 以连接到服务器时。但服务器无法在 5 到 10 秒内发回 ACK。然后 epoll_wait 返回。并检查 SO_ERROR。我得到一个 EIMTEDOUT

我就是不明白为什么超时时间这么短,5s到10s。是我客户端的问题还是 epoll 的问题?

最佳答案

我发布了一个类似的 question最近看到接受的答案,它解释了 TCP 连接超时值是如何由 linux 内核计算的。如果你碰巧在同一台机器上有客户端/服务器,它很可能有更短的超时值。如果您希望服务器接受连接的时间比这更长,您可能需要自己明确设置超时值。

关于linux - 为什么epoll_wait(),在5s~10s后返回,TCP连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com