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

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

    我们使用一次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//连接被外部主机关闭,这里的外部主机是指服务器。

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

  • 相关阅读:
    【JS】DOM
    【JS】事件处理
    【JS】引用类型之Global
    【JS】引用类型之RegExp
    【JS】引用类型之Function
    树形图(菜单)构建组建dhtmlXTree
    【JS】引用类型之String
    【JS】引用类型之Math
    【JS】鼠标事件
    【JS】UI事件
  • 原文地址:https://www.cnblogs.com/leijiangtao/p/4441281.html
Copyright © 2011-2022 走看看