Chinaunix首页 | 论坛 | 博客
  • 博客访问: 538058
  • 博文数量: 142
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1452
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 16:28
文章分类

全部博文(142)

文章存档

2016年(10)

2015年(60)

2014年(72)

我的朋友

分类: C/C++

2014-09-18 11:30:00

一、listen函数原型:
int listen(int sockfd, int backlog);-------------成功返回0,错误返回-1
二、特点:
1.仅被TCP服务器调用
2.listen函数将一个未连接的套接字转换成为一个被动的套接字,指示内核应接受指向该套接字的连接请求
3.backlog(积压值)规定了内核应该为相应套接字排队的最大连接个数。
三、backlog参数理解
内核为任何一个给定的监听套接字维护两个队列:
(1)未完成连接队列:服务器收到客户端的SYN报文,处于SYN_RCVD状态。
(2)已完成连接队列:服务器端完成三次握手,处于ESTABLISHED状态。


历史上曾经把backlog定义为两个队列的和。实际中要看具体系统的实现,有些系统中为已完成连接队列大小。
另外backlog值与实际的连接数的关系,不同的系统也不同,有些相等,有些不等。
阅读(478) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~