执行分析

  1. 打开服务器进程:

  

  2. 执行netstat -a命令观察当前的连接状态:

  

  第1条连接记录说明:绑定了本地主机的任意IP,端口为9877,目前处于监听状态。

  3. 打开客户进程:

  

  4. 执行netstat -a命令观察当前的连接状态,发现了两个新的连接:

  

  以及

  

  上面一个连接说明一个连接到服务器的连接,客户端临时端口是32818,目的端口正是先前的9877,连接状态为已建立,对应已连接套接字;

  下面一个连接说明一个连接到客户端的连接,服务端端口为9877,目的端口是32818,这个连接已经建立,对应的是已连接套接字;

  因为是在一台机器上做的测试,因此出现了上述两条“ 对称 ”的结果。

  5. 然后测试该回射程序:

  

  6. 接下来,ctrl+D中断连接,然后立马netstat -a查询连接状态:

  可以观察到,多了一条是客户端的TIME_WAIT状态的记录( 服务器端是没有什么状态显示的因为程序已经结束了 ):

  

  7. 过一段时间,再次netstat -a,会发现上面那条记录已经没了。这是因为TIME_WAIT过一段时间就没了,和设想一致。

转载于:https://www.cnblogs.com/scut-fm/p/3560990.html

基于TCP的一对回射客户/服务器程序及其运行过程分析( 下 )相关推荐

  1. 第十篇:基于TCP的一对回射客户/服务器程序及其运行过程分析( 上 )

    前言 本文将讲解一对经典的客户/服务器回射程序,感受网络编程的大致框架( 该程序稍作改装即可演变成各种提供其他服务的程序 ):同时,还将对其运行过程加以分析,观察程序背后协议的执行细节,学习调试网络程 ...

  2. (P9)socket编程四:流协议与粘(nian)包,粘包产生的原因,粘包处理方案,readn,writen 6.回射客户/服务器

    文章目录 1.流协议与粘(nian)包 2.粘包产生的原因 4.粘包处理方案 5.readn,writen 6.回射客户/服务器 1.流协议与粘(nian)包 tcp是基于字节流的传输服务(字节流是无 ...

  3. UNIX网络编程卷1 回射客户程序 TCP客户程序设计范式

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 下面我会介绍同一个使用 TCP 协议的客户端程序的几个不同版本,分别是停等版本.select ...

  4. TCP echo_server(C++)回射服务器实现以及问题记录

    TCP echo_server(C++)回射服务器实现以及问题记录 基本运行方式: 客户端接收用户输入的字符串并发送到服务器端 服务器端将接收的字符串数据传回客户端 服务器端和客户端之间的字符串回射一 ...

  5. 【UNIX网络编程】| 【03】TCP客户/服务器程序示例

    文章目录 1.概述 2.TCP回射服务器程序 3.TCP回射客户程序 3.正常启动 4.正常终止 5.POSIX信号处理 5.1 signal函数 5.2 POSIX信号语义 6.处理SIGCHID信 ...

  6. 客户和服务器之间响应的序列,网络编程-第五讲-TCP客户-服务器程序例子.pdf-原创力文档...

    网络编程 第五讲TCP客户-服务器程序例子 多进程并发服务器基本架构 pid_t pid; int listenfd, connfd; listenfd = Socket( ... ); /* fil ...

  7. 打印服务器协议,基于TCP/IP协议的嵌入式网络打印服务器设计

    摘要: 随着电子技术和计算机网络技术的发展,嵌入式系统在家庭和工业的各个领域都得到了广泛的应用,各种信息家电,网络设备以及工业控制领域都出现了嵌入式系统的身影,其数量已经远远超过了各种通用计算机.但是 ...

  8. 一对经典的时间获取客户/服务器程序

    前言 本文通过一对经典的时间获取客户/服务器程序,展现了Linux网络编程的大体框架,为以后更深入的学习打下基础. 客户服务器模式网络编程的大体框架 客户端代码 1 #include <stdi ...

  9. 一个文本回射C/S程序并讨论:fork、信号处理机制、僵死进程处理

    unix网络编程入门 前言 概述 fork 进程终止 信号捕捉 僵尸进程 定义 产生的原因 危害 处理方法 wait和waitpid函数 完整代码 最近在学习unix网络编程卷一学习,跟着书,敲了下代 ...

最新文章

  1. 陌陌安全开源了 Java 静态代码安全审计插件
  2. python【蓝桥杯vip练习题库】ADV-233 队列操作
  3. 网站服务器安全维护,网站服务器安全维护
  4. css鼠标移入线条延中心伸长,css动画效果:鼠标移上去底部线条从中间往两边延伸 - 子成君-分享出去,快乐加倍!-旧版已停更...
  5. 【文章】浅相遇,薄相知,淡相守,终难忘
  6. HDU 3829 Cat VS Dog
  7. Android arm64-v8a、armeabi-v7a、armeabi、x86详解
  8. 联想笔记本电脑换掉原装系统后无法进BIOS不完美解决办法
  9. html点击按钮状态改变,html点击按钮改变文字怎么实现
  10. 最后一个道士 第二章
  11. Apple中文社区平台的 Mac 用户群体
  12. 脚踏实地《数据结构第二章》第五节:循环链表
  13. Py西游攻关之基础数据类型
  14. 蓝桥杯基础练习---特殊数字
  15. 手机 html 全屏,手机投屏开启满屏模式
  16. 论文插图用计算机绘制,论文中插图和表格的绘制种类
  17. MixMatch、UDA、ReMixMatch、FixMatch
  18. 北斗三号频点_北斗第三代RNSS多频点接收模块的制造方法
  19. [LA3620]Manhattan Wiring
  20. [国产PLC]耐特过硬PLC在UV涂装机中如何运用

热门文章

  1. python3urllib中的quote与encode的区别_Python的urllib.quote()和urllib.unquote()的等效Javascript函数...
  2. python double语法_python上手--基本语法和数据类型基础
  3. iphone看python文件_Python实战 | 只需 ”三步“ 爬取二手iphone手机信息(转发送源码)...
  4. java获取当前项目相对路径,在JAVA文件中获取该项目的相对路径
  5. 三因素三水平正交表l9_影响多腔导管挤出机头设计的关键因素
  6. 改小matlab的绘图大小、字号、线宽
  7. 谁拿了最多奖学金pascal程序
  8. linux下生成guid,在Linux下生成GUID的程序,及编译错误 “uuid/uuid.h: No such file or directory” 的解决办法。...
  9. unity怎么实现人脸追踪_景区人脸识别解决方案 人脸识别过闸机怎么实现
  10. au加载默认的输入和输出设备失败_一文带你读懂 C/C++ 语言输入输出流与缓存区...