Socket可以手动发送TCP RST报文吗?

公共马甲0315 2015-09-22 01:56:57
服务器端只能识别这个报文,如果用FIN==1方式,服务器端无法断开链接。
我使用的客户端是CAsyncsocket异步方式,客户端退出后,只能以FIN方式通知服务器端。导致下次连接就无法连上了。
所以想手动增加一条语句来发送这个报文。
求指点
...全文
814 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinkon007 2016-02-22
  • 打赏
  • 举报
回复
用原始套接字构建一个tcp带RST标记的数据包发过去,前提是你要知道你要关闭的这个socket的端口号,还有TCP序列号。
赵4老师 2016-02-22
  • 打赏
  • 举报
回复
听说Win7以上限制RAW SOCKET了。
inpilen 2015-10-14
  • 打赏
  • 举报
回复
一定要rst的话,查原始套接字编程
公共马甲0315 2015-09-24
  • 打赏
  • 举报
回复
引用 3 楼 wxhxj0268 的回复:
[quote=引用 楼主 newTTTTTT 的回复:] 服务器端只能识别这个报文,如果用FIN==1方式,服务器端无法断开链接。 我使用的客户端是CAsyncsocket异步方式,客户端退出后,只能以FIN方式通知服务器端。导致下次连接就无法连上了。 所以想手动增加一条语句来发送这个报文。 求指点
Socket是工作在应用层,你无法控制发送RST,但可以通过释放Socket来达到目的[/quote] 但是我在抓包的软件中看到的不过是一串数据流罢了。所以我想是否有什么途径,能够将含有这个RST的数据流写入进去呢?比如像WriteFile这类的API函数呢? 我只是想手工添加一行代码,给目标发送一串数据流。
公共马甲0315 2015-09-24
  • 打赏
  • 举报
回复
引用 4 楼 lsq19871207 的回复:
[quote=引用 2 楼 newTTTTTT 的回复:] [quote=引用 1 楼 lsq19871207 的回复:] 服务器重启不行吗??
你的意思是每次只要有客户端断开连接,服务器就得重启一次?[/quote] 当然不是! 让我费解的是,为什么客户端不关闭连接,下次再重新建立连接就不行了?? 本次连接跟上次连接有什么逻辑上的关系吗?[/quote] 什么乱七八糟的?问题不是说得很明白了,服务器端不能识别FIN==1的协议,只能识别RST关闭的报头。
公共马甲0315 2015-09-24
  • 打赏
  • 举报
回复
引用 6 楼 oyljerry 的回复:
客户端主动close socket关闭,服务端应该能收到这个信息,或者服务器端再增加心跳包机制等就可以了
服务器端是各硬件集成设备,无法更改。我只想知道,如果发送RST该怎么操作呢?
公共马甲0315 2015-09-23
  • 打赏
  • 举报
回复
引用 1 楼 lsq19871207 的回复:
服务器重启不行吗??
你的意思是每次只要有客户端断开连接,服务器就得重启一次?
oyljerry 2015-09-23
  • 打赏
  • 举报
回复
客户端主动close socket关闭,服务端应该能收到这个信息,或者服务器端再增加心跳包机制等就可以了
oyljerry 2015-09-23
  • 打赏
  • 举报
回复
客户端主动close socket关闭,服务端应该能收到这个信息,或者服务器端再增加心跳包机制等就可以了
信阳毛尖 2015-09-23
  • 打赏
  • 举报
回复
引用 2 楼 newTTTTTT 的回复:
[quote=引用 1 楼 lsq19871207 的回复:] 服务器重启不行吗??
你的意思是每次只要有客户端断开连接,服务器就得重启一次?[/quote] 当然不是! 让我费解的是,为什么客户端不关闭连接,下次再重新建立连接就不行了?? 本次连接跟上次连接有什么逻辑上的关系吗?
笨笨仔 2015-09-23
  • 打赏
  • 举报
回复
引用 楼主 newTTTTTT 的回复:
服务器端只能识别这个报文,如果用FIN==1方式,服务器端无法断开链接。 我使用的客户端是CAsyncsocket异步方式,客户端退出后,只能以FIN方式通知服务器端。导致下次连接就无法连上了。 所以想手动增加一条语句来发送这个报文。 求指点
Socket是工作在应用层,你无法控制发送RST,但可以通过释放Socket来达到目的
信阳毛尖 2015-09-22
  • 打赏
  • 举报
回复
服务器重启不行吗??

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧