标签:
启动服务器程序,服务器程序正在等待客户端的连接
我们使用一次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