关于kqueue中listen socket返回的backlog size含义的咨询
kqueue EVFILT_READ 监听Socket的backlog值说明
你提供的kqueue手册相关内容翻译后如下:
EVFILT_READ 以文件描述符作为标识,当有可读数据时触发返回。该过滤器的行为会根据描述符类型略有不同。对于已调用
listen()的套接字,当有待处理的传入连接时触发返回,data字段包含监听backlog的大小。
针对你的问题:
这里返回的backlog值是事件触发瞬间的实际待处理连接数量,不是调用listen()时设置的总backlog上限。
当监听套接字触发EVFILT_READ事件时,data会返回当前处于等待接受状态的连接总数——这个数值是动态变化的:你调用accept()处理连接后它会下降,有新连接请求进来时会上升,和你最初给listen()传的固定上限值不是一回事。
内容的提问来源于stack exchange,提问作者jorge is not ai
相关产品推荐
相关产品推荐

