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

我们使用一次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系统调用的影响,运行截图如下的更多相关文章

  1. 《用Java写一个通用的服务器程序》01 综述

    最近一两年用C++写了好几个基于TCP通信类型程序,都是写一个小型的服务器,监听请求,解析自定义的协议,处理请求,返回结果.每次写新程序时都把老代码拿来,修改一下协议解析部分和业务处理部分,然后就一个 ...

  2. 【转】MyEclipse第一个Servlet程序

    转自:http://blog.csdn.net/wangdingqiaoit/article/details/7674367 前言 本文旨在帮助学习java web开发的人员,熟悉环境,在Win7系统 ...

  3. MyEclipse第一个Servlet程序 --解决Win7系统下MyEclipse与Tomcat连接问题

    前言 本文旨在帮助学习java web开发的人员,熟悉环境,在Win7系统下运行自己的第一个Servlet程序,因为有时候配置不当或系统原因可能会运行不成功,这给初学者带来了一定烦恼,我也是为此烦恼过 ...

  4. TCP客户/服务器程序实例——回射服务器

    目录 客户/服务器程序源码 POSIX信号处理 POSIX信号语义 处理SIGCHLD信号 处理僵死进程 处理被中断的系统调用 wait和waitpid函数 wait和waitpid函数的区别 网络编 ...

  5. linux高性能服务器编程 (七) --Linux服务器程序规范

    第七章 LInux 服务器程序规范 1)linux服务器程序一般以后台进程形式运行.后台进程又称为守护进程,是没有控制终端的,所以不会受到外界的干扰.守护进程的父进程通常是init进程(PID为1的进 ...

  6. 关于服务器程序运行中收到SIGPIPE(转)

    (此文为原文删减版,原文地址:http://blog.sina.com.cn/s/blog_502d765f0100kopn.html) 我写了一个服务器程序,在Linux下测试,然后用C++写了客户 ...

  7. 《用Java写一个通用的服务器程序》02 监听器

    在一个服务器程序中,监听器的作用类似于公司前台,起引导作用,因此监听器花在每个新连接上的时间应该尽可能短,这样才能保证最快响应. 回到编程本身来说: 1. 监听器最好由单独的线程运行 2. 监听器在接 ...

  8. Linux下select的用法--实现一个简单的回射服务器程序

    1.先看man手册 SYNOPSIS       /* According to POSIX.1-2001 */       #include <sys/select.h>       / ...

  9. IM服务器:编写一个健壮的服务器程序需要考虑哪些问题

    如果是编写一个服务器demo,比较简单,只要会socket编程就能实现一个简单C/S程序,但如果是实现一个健壮可靠的服务器则需要考虑很多问题.下面我们看看需要考虑哪些问题. 一.维持心跳 为何要维持心 ...

随机推荐

  1. Java项目在jsp页面中引入jquery框架的步骤

    环境:在Java  web项目中引入juqery框架 工具:MyEclipse8.5 [步骤如下] A:新建一个Java web项目TestJquery,在WebRoot目录下创建一个jquery文件 ...

  2. Codeforces Round #250 (Div. 1) D. The Child and Sequence

    D. The Child and Sequence time limit per test 4 seconds memory limit per test 256 megabytes input st ...

  3. (C++)浅谈多态基类析构函数声明为虚函数

    主要内容: 1.C++类继承中的构造函数和析构函数 2.C++多态性中的静态绑定和动态绑定 3.C++多态性中析构函数声明为虚函数 1.C++类继承中的构造函数和析构函数 在C++的类继承中, 建立对 ...

  4. ganglia组播和单播

    ganglia快速开始向导(翻译自官方wiki) 发布于 2012 年 1 月 23 日 由 admin 2 comments发表评论   转自:http://cryinstall.com/?p=18 ...

  5. Rust 格式输出

    格式输出由一系列定义在 std::fmt 中的宏提供. 包含: format! : 输出格式化的字符串. print!  : 输出格式化的字符串到控制台(终端)println!: 添加一个换行,输出格 ...

  6. ASP源代码中文乱码怎么办

    ASP程序如果是UTF-8编码格式将会乱码,将其转换为ASCII码即可 如图所示

  7. IDEA20181.4破解

    1.下载破解补丁: http://idea.lanyus.com/jar/JetbrainsIdesCrack-4.2-release-sha1-3323d5d0b82e716609808090d3d ...

  8. js Object.defineProperty 使用

    语法 Object.defineProperty(obj, prop, descriptor) 参数说明: obj:必需.目标对象 prop:必需.需定义或修改的属性的名字descriptor:必需. ...

  9. Linux 内核源码情景分析 chap 2 存储管理 (四)

    物理页面的使用和周转 1. 几个术语 1.1 虚存页面 指虚拟地址空间中一个固定大小, 边界与页面大小 4KB 对齐的区间及其内容 1.2 物理页面 与虚存页面相对的, 须要映射到某种物理存储介质上面 ...

  10. datagrid("getSelections")只获取一行

    页面加载方法如下 function loadSfXtjsList(sfXtjsListId, url, onClickFun) { $("#eastPanel").panel({ ...