免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345
最近访问板块 发新帖
楼主: wufeiwf
打印 上一主题 下一主题

如何将一个已经创建TCP连接断开? [复制链接]

论坛徽章:
0
41 [报告]
发表于 2005-08-12 00:02 |只看该作者

如何将一个已经创建TCP连接断开?

呵呵,搞来搞去还是打算自己写个程序来搞定,谢谢b2linux的提示。
也谢谢platinum老大关注。等我搞定了,再来顶。看来原来有点绝对依赖操作系统命令了。

论坛徽章:
0
42 [报告]
发表于 2005-08-12 11:55 |只看该作者

如何将一个已经创建TCP连接断开?

只能说明你用的server 程序有问题。

这个server 程序不用 fork方式,我想它用的是select 吧,为了提高效率。

在这个server的程序中,应该有对端超时时的处理,而不是依赖于tcp层。tcp的timeout为什么设置那么大?因为tcp的timeout只希望在遇到“坏”的程序时才起作用。

这是典型的程序员对于tcp的经验不足。仔细看看steven的unix网络编程吧,说的特别清楚。

论坛徽章:
0
43 [报告]
发表于 2005-08-12 17:06 |只看该作者

如何将一个已经创建TCP连接断开?

我记得好象是向这个端口发一个rst包就可以了

论坛徽章:
0
44 [报告]
发表于 2013-11-24 11:00 |只看该作者
UP一下,我也碰到类似问题。

论坛徽章:
0
45 [报告]
发表于 2013-12-02 14:57 |只看该作者
回复 40# b2linux
发送RST包,我试了一下,用sendip工具发了很多个RST包,不幸没起到作用,应该落在了接受窗口外面,所以问题是如何构造合适的序列号?

有没有现成的工具?


   

论坛徽章:
0
46 [报告]
发表于 2013-12-03 10:05 |只看该作者
忘了楼主的问题环境了, 现在是linux os 中有一个established 的tcp 连接, 楼主可以用 sendip工具发一下RST包,这种情况下的包序列号可能好构造,因为毕竟这个连接中的报文很少。

之前我说不好构造的环境是:一个活的tcp连接,一直都有数据。

论坛徽章:
0
47 [报告]
发表于 2013-12-03 11:01 |只看该作者
wufeiwf 发表于 2005-08-11 00:01
直接用你给的命令试的,其实这条tcp连接早已经断开(客户端已经退出),但是系统一直显示这条connection是E ...

先lsof,然后把进程kill了

论坛徽章:
0
48 [报告]
发表于 2013-12-03 17:37 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP