TCP/IP编程之listen函数详解
来源:互联网 发布:java 接口变量 编辑:程序博客网 时间:2024/04/30 12:14
函数原型:
LISTEN(2) Linux Programmer's Manual LISTEN(2)NAME listen - listen for connections on a socketSYNOPSIS #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int listen(int sockfd, int backlog);
参数说明:
sockfd是由socket函数返回的套接字描述符,backlog是未完成连接队列和已完成连接队列的总和。
返回值:
返回:若成功则返回0,若出错则为-1
listen函数仅为TCP服务器调用,它做两件事:
(1) listen函数把一个未连接的套接字转换成一个被动套接字,指示内核应接受向该套接字的连接请求,调用listen导致套接字从CLOSED状态转换为LISTEN状态
(2) 本函数的第二个参数规定了内核应该为相应的套接字排队的最大连接个数
本函数通常应在调用socket和bind这两个函数之后,并在调用accept函数之前调用。
为了理解其中的backlog参数,我们必须认识到内核为任何一个给定的监听套接字维护的两个队列:
(1) 未完成连接队列,服务器收到了客户端的SYN分节,正在等待三次握手完成,这些套接字处于SYN_RECV状态
(2) 已完成连接队列,已经完成三次握手,套接字处于ESTABLISHED状态,等待被accept函数提取。
参考:《unix网络编程》·卷1
0 0
- TCP/IP编程之listen函数详解
- TCP/IP编程之listen函数backlog参数详解(linux)
- C++ tcp/ip网络编程中listen函数和accept函数详解和区别
- TCP/IP编程之connect函数详解
- TCP/IP编程之socket函数详解
- TCP/IP编程之bind函数详解
- TCP/IP编程之accept函数详解
- TCP/IP编程之close函数详解
- TCP/IP编程之select函数详解
- TCP/IP编程之shutdown函数详解
- TCP/IP编程之fcntl函数详解
- LwIP tcp/ip socket编程listen函数分析
- TCP/IP编程之getsockopt/setsockopt函数详解
- socket编程——listen函数详解
- tcp/ip协议listen函数中的backlog参数的含义
- tcp/ip协议listen函数中backlog参数的含义
- tcp/ip协议listen函数中backlog参数的含义
- tcp/ip协议listen函数中backlog参数的含义
- linux下查看最消耗CPU、内存的进程
- perl 自动登陆网站发短信
- 解决了一个butterknife,报空指针的bug
- 关于微信第三方授权登陆 使用code获取token时返回40029
- COCI2014/2015 Contest#2 F Solution
- TCP/IP编程之listen函数详解
- 初学ML笔记N0.3——凸优化、拉格朗日对偶
- 剑指offer面试题12 使用BigInteger来实现 打印1到最大的n位数
- HOG特征
- bzoj3158 千钧一发
- 数据结构-->队列的链式实现 ADT
- 获取当前计算机所有性能计数器
- markdown的11种简单语法
- Activity的findViewById()和View的findViewById()