首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将listen() backlog设置为0

将listen() backlog设置为0
EN

Stack Overflow用户
提问于 2011-03-01 01:32:56
回答 1查看 8.9K关注 0票数 1

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

代码语言:javascript
复制
listen( socket, 0 );

然而,根据下面的帖子listen() ignores the backlog argument?,这是行不通的。有没有什么方法可以可靠地实现积压为0?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-01 07:27:22

你能得到的最接近的一步就是listen()accept()close()。除了每次都必须重新创建和绑定套接字之外,这应该会提供与积压为零的相同的整体效果。

代码语言:javascript
复制
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;
}

不过,我不知道你为什么想要这个。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5145392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档