文档章节

五、TCP C/S:连接建立后,主机崩溃后重启

for。
 for。
发布于 2016/07/01 23:22
字数 262
阅读 68
收藏 0

1. 程序源码

http://my.oschina.net/lowkey2046/blog/693852

2. 测试方法

需要使用两台主机进行测试

a. 在树莓派上(192.168.1.24)上启动服务器进程

$ ./tcpserv01 &
[1] 1782

b. 在 PC 机上启动客户端进程,输入 hello world

测试客户端能接收到服务器数据

$ ./tcpcli01 192.168.1.24
hello world
hello world

c. 断开树莓派网络,重启树莓派系统和服务器进程,再将树莓派重新连接到网络中,客户端再发送数据

hello?
str_cli: server terminated prematurely

客户端 read 立即出错返回。

3. wireshark 截图

输入图片说明

当服务器主机崩溃后重启,它的 TCP 丢失了崩溃前的所有连接信息,因此服务器 TCP 对于所收到的来自客户端的数据分节响应以一个 RST。

参考资料

《UNP》

© 著作权归作者所有

共有 人打赏支持
for。

for。

粉丝 84
博文 47
码字总数 18257
作品 0
深圳
程序员
TCP连接如何断开连接

场景: 5.12 Termination of Server Process 5.13 SIGPIPE Signal 5.14 Crashing of Server Host --服务器崩溃 5.15 Crashing and Rebooting of Server Host -服务器崩溃 重启 5.16 Shutdow......

一叶舟troy
2015/09/03
637
0
linux下使用TCP存活(keepalive)定时器

一、什么是keepalive定时器?[1] 在 一个空闲的(idle)TCP连接上,没有任何的数据流,许多TCP/IP的初学者都对此感到惊奇。也就是说,如果TCP连接两端没有任何一个进程在向对 方发送数据,那...

ffredy
2016/02/19
45
0
tcp 服务端如何判断客户端断开连接

最近在做一个服务器端程序,C/S结构。功能方面比较简单就是client端与server端建立连接,然后发送消息给server。我在server端会使用专门的线程处理一条socket连接。这就涉及到一个问题,如果...

陈国成
2017/06/15
0
0
linux下netstat --timers / -o详解及keepalive相关

在linux查看网络连接数或者网络状态,我一般用netstat或者lsof这两种,netstat的话有个时间计时功能,里面涉及到不少tcp/ip协议的知识,今天就来说一说我理解的netstat计时功能。 netstat -a...

在下郑小明
06/26
0
0
TCP长连接与短连接的区别

TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握...

Hosee
2016/02/24
271
0

没有更多内容

加载失败,请刷新页面

加载更多

linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
1
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
2
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
12
0
GRASP设计模式

此文参考了这篇博客,建议读者阅读原文。 面向对象(Object-Oriented,OO)是当下软件开发的主流方法。在OO分析与设计中,我们首先从问题领域中抽象出领域模型,在领域模型中以适当的粒度归纳...

克虏伯
昨天
0
0
Coding and Paper Letter(四十)

资源整理。 1 Coding: 1.Tomislav Hengl撰写的非官方作者指南:Michael Gould•Wouter Gerritsma。 UnofficialGuide4Authors 2.R语言包rwrfhydro,社区贡献的工具箱,用于管理,分析和可视化...

胖胖雕
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部