免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3474 | 回复: 9
打印 上一主题 下一主题

[C] tcp三次握手连接建立不了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-13 16:31 |只看该作者 |倒序浏览
很奇怪,我机器上怎么都不能与一台外部服务器网络连接不了,tcpdump抓包看,是三次握手时,最后一个包,居然发了个R包,如下

16:13:11.816357 IP 192.168.0.1.41948 > 192.168.0.2.micromuse-ncpw: S 2771031801:2771031801(0) win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 2>
E..4..@.@..... .......%..*..........................
16:13:11.817767 IP 192.168.0.2.micromuse-ncpw > 192.168.0.1.41948: S 3687719780:3687719780(0) ack 2771031802 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 2>
E..4..@.;......... .%.....#d.*.......?..............
16:13:11.817774 IP 192.168.0.1.41948 > 192.168.0.2.micromuse-ncpw: R 2771031802:2771031802(0) win 0
E..(..@.@..... .......%..*......P...0...

tcpdump抓包内容如上,不知道大家碰到过类型问题没有......

[ 本帖最后由 augustusqing 于 2009-8-13 16:32 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-08-13 16:34 |只看该作者
可能对方的接收队列满了,不能再接收连接了

论坛徽章:
0
3 [报告]
发表于 2009-08-13 16:35 |只看该作者
再看了看tcpdump输出,貌似RST包是客户端发送的?这种情况我没遇到过.

论坛徽章:
0
4 [报告]
发表于 2009-08-13 16:38 |只看该作者
是啊,是客户端发出的啊,第一个,第二个包,都没发现任何问题,第三个包,突然来了个RST,诡异至极

论坛徽章:
0
5 [报告]
发表于 2009-08-13 17:10 |只看该作者
诡异事件

论坛徽章:
0
6 [报告]
发表于 2009-08-13 17:38 |只看该作者

回复 #1 augustusqing 的帖子

客户端再没有处理完对方的报文就下close命令的话,tcp会向对方发送reset报文。
就是说你的客户端有问题。
如果客户端是自己写的,就看看connect是否有问题。

[ 本帖最后由 urapple 于 2009-8-13 17:40 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-08-13 19:29 |只看该作者

回复 #6 urapple 的帖子

多谢一起考虑。。。

这个是自己的客户端
但问题是,三次握手应该就是connect时干的活,即使客户端紧接着调用close,也应该是connect完及三次握手正常完成后,再发起关闭连接的过程。。。
除非connect的过程中掉中断终止了?会有这种情况吗?

还是觉得太诡异

论坛徽章:
0
8 [报告]
发表于 2009-08-13 21:25 |只看该作者

回复 #1 augustusqing 的帖子

既然是客户端问题,就把代码发上来看看,
是不是用了unblock socket, 然后处理connect返回值的时候有问题

论坛徽章:
0
9 [报告]
发表于 2009-08-14 08:06 |只看该作者

回复 #8 zhjufe 的帖子

恩,94。
你写一个错误的非阻塞connect试试,应该可以看到reset。
connect的时候,直接用阻塞的connect,在它之前把socket设置成非阻塞。
connect之后也别给他等待的时间,也别判断返回值,直接close。
tcp应该就会发出reset报文。
估计你的客户端也是connect一段代码有问题,而自己想当然的认为没问题了。

论坛徽章:
0
10 [报告]
发表于 2009-08-14 16:15 |只看该作者
我也刚好遇到了这个问题,客户端会向服务器端发送一个RST,然后服务器端程序就崩溃了。
但是有时候,又没这个问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP