gpt4 book ai didi

即使在对等方挂断后,poll() 也能返回 POLLIN 事件吗?

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:59 24 4
gpt4 key购买 nike

我看到 poll() 系统调用返回 POLLIN 事件,即使套接字已被对等方关闭。我看到 POLLIN 和 POLLERR 都已设置。即使在 read() 调用返回 -1 之后,这种情况还会继续发生。

我的逻辑仅在没有 POLLIN 时才处理 POLLERR,以确保我读取了在套接字断开连接之前已经到达的任何数据包。结果我永远不会结束处理 POLLERR,因为 POLLIN 总是被设置。

为什么 poll() 在套接字错误后返回 POLLIN 和 POLLERR?我应该如何处理这种情况。

谢谢!

最佳答案

这里真正的问题是为什么你仍然在套接字上进行轮询,事实上为什么套接字仍然存在?如果您从 read() 得到 -1,您应该关闭套接字并将其从轮询集中删除。如果您不这样做,POLLIN 将永远重复出现。

关于即使在对等方挂断后,poll() 也能返回 POLLIN 事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43826771/

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