码迷,mamicode.com
首页 > 其他好文 > 详细

我们通过一个服务器程序,以研究backlog参数对listen系统调用的影响,运行截图如下

时间:2015-04-20 14:37:52      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

启动服务器程序,服务器程序正在等待客户端的连接

技术分享

我们使用一次telnet命令就建立一个连接

技术分享

打开多个终端窗口执行下列命名

#telnet 192.168.255.128 4444多次执行

然后我们执行如下netstat -nt |grep 4444,显示出listen监听队列中的内容

技术分享

可见,在监听对列中,处于ESTABLISHD状态的连接只有4个(backlog值加1),其他的连接处于SYS_RCVD状态。我们改变服务器程序的第三个参数

并重新运行只,可发现同样的规律,即完整连接最多有(backlog+1)个,在不同的系统上,运行结果可能有所不同,不过监听队列中完整的连接上限,通常比backlog大!

如果想结束服务器程序我们可以按ctrl c组合键,来关闭服务器程序!但是为什么输出了视觉上的10组数据呢?

我认为因为连接过程中服务器和客户机之间连接时的交互,这样下来就是8组数据了,然后有一组连接处于SYS_RCVD状态,但是也和服务器进行了交互,所有共十组数据!

技术分享

然后我们可以看见所有的客户端也关闭了!

connection closed by foreign host//连接被外部主机关闭,这里的外部主机是指服务器。

技术分享

关闭服务器后我们再次执行下图所示的命令:

技术分享

 

我们通过一个服务器程序,以研究backlog参数对listen系统调用的影响,运行截图如下

标签:

原文地址:http://www.cnblogs.com/leijiangtao/p/4441281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!