繁体   English   中英

将listen()待办事项设置为0

[英]Setting listen() backlog to 0

在套接字上侦听时,理想情况下,我希望将积压限制为零,即

listen( socket, 0 );

但是,根据以下文章, listen()会忽略backlog参数吗? ,这是行不通的。 有什么方法可以可靠地使积压为0?

您可以得到的最接近的一步就是listen()accept()close() 这与积压为零的总体效果相同,只是每次都必须重新创建并绑定套接字。

int accept_one(int sockfd, struct sockaddr *addr, socklen_t *addrlen)
{
    int result;

    result = listen(sockfd, 1);

    if (result >= 0)
        result = accept(sockfd, addr, addrlen);

    close(sockfd);

    return result;
}

不过,我不确定您为什么要这么做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM