几种TCP 连接中出现RST 的情况( 比较详细) 收藏人:hh3755 2013-07-02 | 阅:4725 转:16 | 来源 | 分享 几种TCP 连接中出现RST 的情况 17 人 收 藏 此 文 章 , 我 要 收 藏 发 表 于 1 个 月 前 (2013-05-04 11:40) , 已 有 314 次 阅 读 ,共 0 个 评 论 目 录 : [ - ] 1 端 口 未 打 开 2 请 求 超 时 3 提 前 关 闭 4 在 一 个 已 关 闭 的 socket上 收 到 数 据 总 结 参 考 文 献 : 应 该 没 有 人 会 质 疑 , 现 在 是 一 个 网 络 时 代 了
应 该 不 少 程 序 员 在 编 程 中 需 要 考 虑 多 机 、局域网 、广域网 的 各种问题
所以网 络 知识也是 避免不 了 学习的
而且笔者一 直觉得 TCP/IP 网 络 知识在 一 个 程 序 员 知识体系中 必需 占有 一 席之地的
在 TCP 协议中 RST 表 示复位, 用来异常的 关 闭 连接, 在 TCP 的 设计中 它是 不 可或缺的
发 送 RST 包关 闭 连接时 , 不 必等缓冲区的 包都发 出去, 直接就丢弃缓存区的 包发送 RST 包
而接收 端 收 到 RST 包后, 也不 必发 送 ACK 包来确认
其实在 网 络 编 程 过程 中 , 各种 RST 错误其实是 比较难排查和找到 原因的
下面我 列出几种会 出现 RST 的 情况
1 端 口未打开 服 务 器 程 序 端 口 未 打 开 而 客 户 端 来 连 接
这 种 情 况 是 最 为 常 见 和 好 理 解 的 一 种 了
去 telnet 一 个 未 打 开 的 TCP 的 端 口 可 能 会 出 现 这 种 错 误