社区
Delphi
帖子详情
数据传输丢包问题(大家多参与)
太空11
2006-09-08 08:28:21
基于idtcpclient和idtcpserver的数据传输,当服务端只接收数据,不对数据进行处理时,数据丢失率较少,能够达到要求,但是如果对数据进行处理时,数据丢包比较严重,(这里对数据处理用存储过程)
根据现状,如果连接20个客户端,每60毫秒要处理20个数据包。
...全文
437
14
打赏
收藏
数据传输丢包问题(大家多参与)
基于idtcpclient和idtcpserver的数据传输,当服务端只接收数据,不对数据进行处理时,数据丢失率较少,能够达到要求,但是如果对数据进行处理时,数据丢包比较严重,(这里对数据处理用存储过程) 根据现状,如果连接20个客户端,每60毫秒要处理20个数据包。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
雄牛
2006-09-14
打赏
举报
回复
没用过,关注中...
顶一下.....
halfdream
2006-09-14
打赏
举报
回复
呵呵..楼主讨论这么半天,也不说自己具体实现些编码片断...
可以明确的告诉楼主,基于TCP通讯,数据传输可靠相当高的.如果出现丢包现象,只能是明显的代码错误或应用协议设计缺陷.
wudi_1982
2006-09-08
打赏
举报
回复
把接收和处理分开做。以前也用ServerSocket和ClientSocket做过类似的东西,没有这种问题啊。
太空11
2006-09-08
打赏
举报
回复
如果我的问题 出现问题了 能给我一个小例子吗?
我的邮箱:mengxiang2000000@163.com
qq:503502528
halfdream
2006-09-08
打赏
举报
回复
楼主代码出问题了.
bluesky23
2006-09-08
打赏
举报
回复
mark一下。
postren
2006-09-08
打赏
举报
回复
没用过idtcpclient和idtcpserver
但当时我用ServerSocket和ClientSocket的时候,也没发生过这样的情况啊
用阻塞模式,接收多少就处理多少,应该不会造成丢包
用接收线程和处理线程,分别处理
接收线程仅仅负责把接收到的完整的包放到处理队列中,处理线程仅仅负责处理
这样效果会好很多
太空11
2006-09-08
打赏
举报
回复
也就是说现在对数据处理的速度根不上接收数据包的速度,而且cpu的使用情况对接收数据包有很大的影响。
太空11
2006-09-08
打赏
举报
回复
当我连接上20个客户端同时传输的时候,就会有数据包丢失(每个客户端上传数据时间间隔为60毫秒)
太空11
2006-09-08
打赏
举报
回复
一个客户端的时候没有丢包的情况 但是客户端多了以后丢包的情况就开始出现了
noelse520
2006-09-08
打赏
举报
回复
你把接收到的数据记录下,看看丢包的规律,我想应该是你代码出问题了~!
noelse520
2006-09-08
打赏
举报
回复
我也做过类似的东西,也没有丢包的现象.
太空11
2006-09-08
打赏
举报
回复
我在作这个程序的时候自己做了一个缓冲区,这个缓冲区负责的是把所有接收到的数据包暂存,用一个timer控件定时处理这些数据包,这样满足不了要求,丢数据包的情况仍然存在
太空11
2006-09-08
打赏
举报
回复
大家的意思是多做几个线程 其中有一个线程是专门处理接收过来的数据对把
UDP数据
丢包
跟踪与总结
参考文章链接1:https://www.cnblogs.com/h2zZhou/p/12015409.html(侵权必删)
丢包
检查方法 给每个UDP包编号,对比收发端的接收到的包。对于UDP协议层上的包,例如RTP包,可以从RTP包中读出包的序列号进行判断。 抓包。发送端和接收端分别抓包。linux下可以使用tcpdump,windows下使用wireshark。 linux下,可以使用watch netstat -su查看
丢包
统计。主要看RcvbufErrors和SndbufErrors。如果两
Linux
丢包
问题
排查思路
Linux
丢包
排查
《udp
丢包
分析》
UDP主要
丢包
原因及具体
问题
分析 一、主要
丢包
原因 1、接收端处理时间过长导致
丢包
:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv。 2、发送的包巨大
丢包
:虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过50K的一个...
linux 系统 UDP
丢包
问题
分析思路
UDP 本身就是无连接不可靠的协议,适用于报文偶尔丢失也不影响程序状态的场景,比如视频、音频、游戏、监控等。对报文可靠性要求比较高的应用不要使用 UDP,推荐直接使用 TCP。当然,也可以在应用层做重试、去重保证可靠性如果发现服务器
丢包
,首先通过监控查看系统负载是否过高,先想办法把负载降低再看
丢包
问题
是否消失如果系统负载过高,UDP
丢包
是没有有效解决方案的。如果是应用异常导致 CPU、memory、IO 过高,请及时定位异常应用并修复;如果是资源不够,监控应该能及时发现并快速扩容。
linux嵌入式串口通信
丢包
,IMX6 Linux系统下串口
丢包
错包
问题
研究
https://blog.csdn.net/fff_ylg/article/details/70255729摘自互联网1. IMX6 soc 芯片架构图 IMX6 SOC2. 串口的使用情况IMX6 SOC系列芯片有5个异步串口可以使用,可以用于连接蓝牙,单片机,GPS模块等等外围芯片。串口的作用,就像神经系统一样,连接各个器官。因此串口通信的稳定性,还是非常重要的。3. 串口接口定义引用CSDN...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章