Sockets 将套接字添加到受监控文件描述符列表之前,如果套接字上有数据,将选择(或epoll)将套接字标记为可读
我正在寻求帮助以了解以下情况: 1.我与对等方建立了TCP套接字连接。 2.我添加到要由select监视的文件描述符列表中 3.选择“提醒我套接字上的任何活动”,我的应用程序将处理套接字上的对等方发送的数据。 4.现在,我将从select监视的文件描述符列表中删除与套接字关联的文件描述符。 5.Peer向我发送了一些关于该套接字的数据。我没有阅读这些数据。 6.几秒钟后,我再次将与套接字关联的文件描述符添加到select监视的文件描述符列表中 7.现在选择是否立即让我知道套接字是可读的?如果在步骤5中,对等方不向我发送任何数据,而是说,因为FIN。将选择仍然告诉我套接字是可读的 总之,问题是select(或其任何变体,如epoll)是否指示套接字是可读的,前提是在将套接字包括在受监控文件描述符列表中之前,套接字上存在任何活动,并且假设应用程序没有从套接字读取任何数据Sockets 将套接字添加到受监控文件描述符列表之前,如果套接字上有数据,将选择(或epoll)将套接字标记为可读,sockets,epoll,Sockets,Epoll,我正在寻求帮助以了解以下情况: 1.我与对等方建立了TCP套接字连接。 2.我添加到要由select监视的文件描述符列表中 3.选择“提醒我套接字上的任何活动”,我的应用程序将处理套接字上的对等方发送的数据。 4.现在,我将从select监视的文件描述符列表中删除与套接字关联的文件描述符。 5.Peer向我发送了一些关于该套接字的数据。我没有阅读这些数据。 6.几秒钟后,我再次将与套接字关联的文件描述符添加到select监视的文件描述符列表中 7.现在选择是否立即让我知道套接字是可读的?如果在步
select()