社区
网络通信/分布式开发
帖子详情
TCP丢包和异常断开。
mastersky
2010-05-26 12:06:32
在TCP通讯过程中,有时在服务器发送数据给某个客户端时,重试3次,依然没有回复,则该连接被异常断开,但是不久之后还能收到该客户端的数据,然后windows会发送RST中断该连接。
这种情况偶尔会出现。
分析原因,可能是1.数据未能发出去,2.客户端未收到数据(公网网关丢失)。
请问如何得知数据已从通过局域网网关发出去了呢?
可以通过监控软件监控本机,发现数据重传和收到客户端数据的所有情况。如何监控该数据包从本机到局域网网关到公网网关的情况呢?
...全文
992
23
打赏
收藏
TCP丢包和异常断开。
在TCP通讯过程中,有时在服务器发送数据给某个客户端时,重试3次,依然没有回复,则该连接被异常断开,但是不久之后还能收到该客户端的数据,然后windows会发送RST中断该连接。 这种情况偶尔会出现。 分析原因,可能是1.数据未能发出去,2.客户端未收到数据(公网网关丢失)。 请问如何得知数据已从通过局域网网关发出去了呢? 可以通过监控软件监控本机,发现数据重传和收到客户端数据的所有情况。如何监控该数据包从本机到局域网网关到公网网关的情况呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Mit1208
2010-06-25
打赏
举报
回复
太强大了.只有留个脚丫
qiujunwang198577
2010-06-25
打赏
举报
回复
学习,路过,顶下
麦客来了
2010-06-25
打赏
举报
回复
MARK
tataishan
2010-06-25
打赏
举报
回复
接分的。。。
李_军
2010-06-19
打赏
举报
回复
自己采用底层socket写试试
bigbiga
2010-06-11
打赏
举报
回复
Indy是阻塞式的,windows收到数据,但是达到indy想要的结果,所以indy不会有返回的。
windows一向提昌非阻塞式,但需要线程和自己组合数据,而UNIX是阻塞式,开发简单。
sanguomi
2010-06-05
打赏
举报
回复
在TCP通讯过程中,有时在服务器发送数据给某个客户端时,重试3次,依然没有回复,则该连接被异常断开,但是不久之后还能收到该客户端的数据,然后windows会发送RST中断该连接。
--------------------------
用GETLASIT看有没有异常,
不喜欢用INDY,绕来绕去的, 不如自己写SOCKET清爽
sanguomi
2010-06-05
打赏
举报
回复
检查下看是不是你粘包了
MinxSoft
2010-06-05
打赏
举报
回复
最怕的是单片机的TCP/IP协议栈没有实现完整...那么,对于上位机来说就是一个噩梦
MinxSoft
2010-06-05
打赏
举报
回复
Socket断开往往只是一个"假象",Indy把Socket都封装了,更加看不到底层了;可以去看看WinSock2那些函数,例如setsockopt,可以设置在执行closesocket后,保留Socket一段时间,直到数据收发完毕.
xiaowei_001
2010-06-05
打赏
举报
回复
jf
回复内容太短了!
SQLDebug_Fan
2010-05-28
打赏
举报
回复
我想知道,都断开连接了,你怎么知道还有数据包发上来?是通过截包实现的吗?
mastersky
2010-05-28
打赏
举报
回复
看来是不会有人答得出来的。散了,来接分吧。
haitao
2010-05-28
打赏
举报
回复
网络环境,路由器-交换机-网线。。。。。。。。
imho888
2010-05-28
打赏
举报
回复
server端断开了,客户端没断开及时,只要你的端口是开着的,windows肯定是收到信息的
iqyely
2010-05-28
打赏
举报
回复
来学习下。
SQLDebug_Fan
2010-05-26
打赏
举报
回复
如果连接异常断开了,就不会再收到数据,另外你的重试3次是间隔多少?
你是不是用的INDY控件?
SQLDebug_Fan
2010-05-26
打赏
举报
回复
检查一下异常断开的原因,有时INDY报异常,但是没有真正断开,线程还在。
mastersky
2010-05-26
打赏
举报
回复
不行啊,客户端是单片机。
java程序员zbin
2010-05-26
打赏
举报
回复
可以试下,在原客户端建个SERVER端
加载更多回复(2)
wireshark 怎么看
tcp
已经
断开
了
在 Wireshark 中,可以通过以下几种方法判断
TCP
连接是否已经
断开
:
TCP
连接中的
异常
断开
情况处理
1.
TCP
连接中可能出现的
异常
断开
情况假设存在这样一种情况:在两个不同的主机Machine1、Machine2系统上分别运行两个应用程序Application1、Application2,在Application1与Application2的进程中存在一个
TCP
链接
TCP
Link。它们的实际传输取决于物理链路的沟通PhysiLink。图一:
TCP
通信情况模拟图1.1程序/进
python如何判断
tcp
异常
断开
_
Tcp
服务端判断客户端是否
断开
连接
今天搞
tcp
链接弄了一天,前面创建socket,绑定,监听等主要分清自己的参数,udp还是
tcp
的。好不容易调通了,然后就是一个需求,当客户端主动
断开
连接时,服务端也要
断开
连接,这样一下次客户端请求链接的时候才能成功链接。然后就开始找各种方法。其中简单的是看recv()返回为0,表明
断开
了链接,但是recv函数始终返回SOCKET_ERROR,找不到原因。。。。。。。。。。。。现在已经调通了,就是...
TCP
的连接和
断开
详解
IP 层是「不可靠」的,它不保证网络包的交付、不保证网络包的按序交付、也不保证网络包中的数据的完整性。如果需要保障网络数据包的可靠性,那么就需要由上层(传输层)的
TCP
协议来负责。因为
TCP
是一个工作在传输层的可靠数据传输的服务,它能确保接收端接收的网络包是。
TCP
异常
断开
连接分析
【摘要】 一个
TCP
连接,没有开启 keepalive,双方一直没有数据交互,进程崩溃和主机崩溃有什么区别? 上周有位读者找我说,他在面试腾讯的时候,遇到了这么个问题: 这个属于
TCP
异常
断开
连接的场景,这部分内容在我的「图解网络」还没有详细介绍过,这次就乘着这次机会补一补。 这个问题有几个关键词: 没有开启 keepalive; 一直没有数据交互; 进程崩溃; 主机崩溃; 我们先来认识认识什么是
TCP
keepalive 呢? 这东西其实就是
TCP
的保活机制,它的工作原理我之..
网络通信/分布式开发
1,594
社区成员
32,944
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章