当前位置: 技术问答>linux和unix
多线程socket的listen中backlog的含义
来源: 互联网 发布时间:2017-04-19
本文导语: 问题背景 我在程序中创建3个子线程 每个线程中都创建一个tcp的socket,它们绑定的端口不同, 比如分别是thread1绑定端口123,thread2绑定端口456,thread3绑定端口789 我在每个线程中都用到listen函数 这时候backlog的含义是...
问题背景
我在程序中创建3个子线程
每个线程中都创建一个tcp的socket,它们绑定的端口不同,
比如分别是thread1绑定端口123,thread2绑定端口456,thread3绑定端口789
我在每个线程中都用到listen函数
这时候backlog的含义是什么?
是代表每个socket的连接请求数量?
还是整个进程的连接请求数量?
我在程序中创建3个子线程
每个线程中都创建一个tcp的socket,它们绑定的端口不同,
比如分别是thread1绑定端口123,thread2绑定端口456,thread3绑定端口789
我在每个线程中都用到listen函数
这时候backlog的含义是什么?
是代表每个socket的连接请求数量?
还是整个进程的连接请求数量?
|
函数的第二个参数规定了内核为此套接口排队的最大连接数
--出自《unix网络编程》
应该是每个socket的,
但这和 未完成连接队列、已完成连接队列的数量关系, 要看系统具体实现
--出自《unix网络编程》
应该是每个socket的,
但这和 未完成连接队列、已完成连接队列的数量关系, 要看系统具体实现
|
并发连接数的控制。
如果同一个时间点有两个用户发起connect操作,是可以直接被服务器端协议栈处理的,这两个用户的connect是可以立即返回的,即使服务器端没有进行accept处理。
那么第三个用户发起connect操作的时候,第三个用户connect是不会握手成功的。
如果同一个时间点有两个用户发起connect操作,是可以直接被服务器端协议栈处理的,这两个用户的connect是可以立即返回的,即使服务器端没有进行accept处理。
那么第三个用户发起connect操作的时候,第三个用户connect是不会握手成功的。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。