社区
其它技术问题
帖子详情
tcp连接后,过一段时间就会收到另一方的rst包
linyanxin2007
2012-03-09 09:55:52
closesocket发送的是fin包,收到rst包可能是什么原因导致的
...全文
119
3
打赏
收藏
tcp连接后,过一段时间就会收到另一方的rst包
closesocket发送的是fin包,收到rst包可能是什么原因导致的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
星爷是我哥
2012-03-09
打赏
举报
回复
shutdown()
星爷是我哥
2012-03-09
打赏
举报
回复
有没有先showdown()
nossiac
2012-03-09
打赏
举报
回复
对方程序异常关闭。目标端口没有侦听。对方主动放弃一个connection。
在
TCP
传输中,什么时候
会
收到
RST
报文段?
RST
即复位字段。 1 出现
RST
包
的情况 1.
连接
请求到达时,目的端口不存在。 2.向一个已经关闭的
连接
发送数据。 3.向一个已经崩溃的对端发送数据。 4.请求超时。 接收端在接收数据超时时,
会
发送
RST
包
。 5.关闭socket时,直接丢弃接收缓冲区未读取的数据,并给对方发一个
RST
。 6.
TCP
收到
了一个根本不存在的
连接
上的报文。 7.处理半打开
连接
时。一方关闭了
连接
,
另一方
却由于网络故障等原因没有
收到
结束报文,还维持着原来的
连接
,这种状态就叫做半打开
连接
。此时
另一方
往处于半打开状态的
连接
写数据的话,
25-
tcp
协议——
连接
复位(
RST
)
1.
连接
复位(
RST
) 前面我们介绍了
tcp
连接
建立和
连接
释放过程中的一些细节,那么大家有没有想过一些异常的情况:有时候也
会
出现无法建立
tcp
连接
或
tcp
连接
异常终止的情况。一般来说,导致这种情况的原因一般有很多种,比如: 1.拒绝
连接
请求,比如:A想和B建立
tcp
连接
,但是A的
连接
请求中使用了一个不存在的端口(比如:这个端口超出65535的范围),那么B就可以发送
RST
报文段拒绝这...
TCP
重置报文段(
RST
)
TCP
重置报文段(
RST
) 通常当发现一个到达的报文段对于相关
连接
而言是不正确的时,
TCP
就
会
发送一个重置报文段。总体上来说,重置报文段主要有以下几种场景: 1.针对不存端口的
连接
请求 当一个
连接
请求到达本地却没有相关进程在目的端口侦听时就
会
产生一个重置报文段。 2.终止一条
连接
通常终止一条
连接
的正常方法是由通信一方发送一个FIN。这种方法有时也被称为有序释放。(因为FIN是在之前所有排队数据都已经发送后才被发送出去,通常不
会
出现丢失数据的情况) 而在任何时刻,我们都可以通过发送一个重置报文段
RST
替代F
TCP
/IP卷一:69---
TCP
连接
管理之(重置报文段
RST
(端口不存在、终止一条
连接
、半开
连接
、时间等待错误))
一、重置报文段(
RST
介绍) 在上图
TCP
头部中,其有一个
RST
位字段。一个将该字段置位的报文段被称作“重置报文段”或简称为“重置” 一般来说,当发现一个到达的报文段对于相关
连接
而言是不正确的时,
TCP
就
会
发送一个重置报文段。(此处,相关
连接
是指由重置报文段的
TCP
与IP头部的4元组所指定的
连接
)。重置报文段通常
会
导致
TCP
连接
的快速拆卸 本文将构建一些场景来证明重置报文段的用途 二、...
TCP
协议的
RST
包
前言:
TCP
中有几个比较重要的标志位, SYN ACK FIN
RST
PSH URG。 比如: (B) --> [SYN] -->(A) (B)<-- [SYN/ACK] A) (B)--> [ACK] --> (A) 以上是三次握手建立
连接
的过程。以上字段的具体含义: SYN: 表示建立
连接
FIN: 表示关闭
连接
ACK: 表示响应
其它技术问题
3,882
社区成员
9,045
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章