socket程序listen之后,不写accept函数,会是怎样一种情况?
来源:互联网 发布:三只眼 漫画 知乎 编辑:程序博客网 时间:2024/05/01 07:38
socket程序listen之后,不写accept函数,会是怎样一种情况?
1
int
listen(
int
sockfd,
int
backlog);
backlog,就是默认最大的等待队列长度
不用accept 最大的监听个数就是这个backlog了,因为一直没有accept,所以这个里的队列会一直在,不会减少虽然这个backlog是可以手动设置的,但是linux是最大值128,如果超过这个数目了,就是无效的,最大也就128.
在被动状态的socket有两个队列,一个是正在进行三次握手的socket队列,一个是完成三次握手的socket队列。在握手完成后会从正在握手队列移到握手完成的队列,此时已经建立连接。accept就是从已经完成三次握手的socket队列里面取,不accept客户端能完成的连接就是此队列的大小.
所以,不accpet只是不能继续通讯而已,三次握手是协议栈做的,不是api控制的,否则,你考虑效率要多低,就好像每次这种贴都会争论什么阻塞send什么时候返回,阻塞recv什么时候返回。
isten()维护两个队列,一个是未完成三次握手的,一个是已完成三次握手的,accept()是从已完成三次握手的队列中取出一个而已!
0 0
- socket程序listen之后,不写accept函数,会是怎样一种情况?
- socket程序listen之后,不写accept函数,会是怎样一种情况?
- socket程序listen之后,不写accept函数,会是怎样一种情况?
- Socket通信 listen accept 函数
- Socket中listen/accept函数的区别
- Socket中listen/accept函数的区别
- Socket中listen/accept函数的区别
- Socket中listen/accept函数的区别
- socket listen和accept函数分析
- Socket中listen/accept函数的区别
- Socket中listen/accept函数的区别
- 网络socket编程指南 4 listen accept send recv 函数
- socket 编程 bind listen accept
- 网络编程(23)—— socket客户端连接上服务端是在listen之后而非在accept之时
- listen函数和accept函数
- listen/accept函数的区别
- listen和accept函数解析
- 使用listen()和accept()函数
- hdu 1584 蜘蛛牌
- Linux的Ext2文件系统
- 机器学习笔记3——聚类
- Linux下查看文件和文件夹大小
- 欢迎使用CSDN-markdown编辑器
- socket程序listen之后,不写accept函数,会是怎样一种情况?
- 2.ssh中整合时发生的异常:java.lang.NoSuchMethodException
- C++小例子
- c#学习 1/22 c#语言介绍
- Web分页工具类
- 汉语编程能给我们带来什么?
- 蓝桥杯 算法训练 最大最小公倍数
- LeetCode #414: Third Maximum Number
- window下cmd命令行的使用