QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1153|回复: 3

请各位大侠解读一段程序。

[复制链接]
发表于 2003-11-29 21:06:51 | 显示全部楼层 |阅读模式
/* include Listen */
void
Listen(int fd, int backlog)
{
        char        *ptr;

/*4can override 2nd argument with environment variable */
        if ( (ptr = getenv("LISTENQ")) != NULL)
                backlog = atoi(ptr);

        if (listen(fd, backlog) < 0)
                err_sys("listen error");
}
/* end Listen */
以上这段程序是我在《unix network programming》中看到的,对于backlog的用法不明白,请高手帮忙。
发表于 2003-12-6 21:24:26 | 显示全部楼层
backlog表示监听套接字的完成连接队列的最大长度,即这个套接字能够接收的最大数目的未接收连接。如果当一个客户的SYN数据段到达时,监听套接字的完成连接队列已经满了,那么TCP将忽略这个SYN数据段。对于不能接收的SYN数据段,TCP协议不发送RST数据段。
回复

使用道具 举报

发表于 2004-3-5 21:26:19 | 显示全部楼层
同意楼上!!!
回复

使用道具 举报

发表于 2004-3-22 11:04:41 | 显示全部楼层
为什么要用环境变量重写backlog?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-29 09:56 , Processed in 0.035280 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表