nj_mouse 发表于 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的用法不明白,请高手帮忙。

bugboy 发表于 2003-12-6 21:24:26

backlog表示监听套接字的完成连接队列的最大长度,即这个套接字能够接收的最大数目的未接收连接。如果当一个客户的SYN数据段到达时,监听套接字的完成连接队列已经满了,那么TCP将忽略这个SYN数据段。对于不能接收的SYN数据段,TCP协议不发送RST数据段。

hbwuxh 发表于 2004-3-5 21:26:19

同意楼上!!!

kukumouse 发表于 2004-3-22 11:04:41

为什么要用环境变量重写backlog?
页: [1]
查看完整版本: 请各位大侠解读一段程序。