社区
C#
帖子详情
C# Socket UDP 丢包问题怎么解决
daiyong_88
2010-12-22 11:26:21
需求:由于我是在嵌入式终端操作Socket,所以Socket不能一直链接,只有发送消息时才链接,等过了超时,就算失败,关闭Socket 。
现在我有一个登录,和一个传输图片,用的都是UPD,登录只发送一次,不会丢包,但是发送图片丢包很严重(很多次发送)。
我感觉是用for循环发送的太快了,丢包了,也不知道是不是的。如果一丢包,服务器就不会及时发消息我,不能及时关闭Socket。
现在想怎么避免丢包,由于是刚学Socket 对UDP怎么熟悉。
...全文
490
6
打赏
收藏
C# Socket UDP 丢包问题怎么解决
需求:由于我是在嵌入式终端操作Socket,所以Socket不能一直链接,只有发送消息时才链接,等过了超时,就算失败,关闭Socket 。 现在我有一个登录,和一个传输图片,用的都是UPD,登录只发送一次,不会丢包,但是发送图片丢包很严重(很多次发送)。 我感觉是用for循环发送的太快了,丢包了,也不知道是不是的。如果一丢包,服务器就不会及时发消息我,不能及时关闭Socket。 现在想怎么避免丢包,由于是刚学Socket 对UDP怎么熟悉。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liaochaoxiao
2011-01-10
打赏
举报
回复
顶,如果是发送即时图片如何做呢,不可能是在重发,只能是直接把包丢弃重新接受新的包,有没有代码可以借鉴下?
daiyong_88
2010-12-22
打赏
举报
回复
[Quote=引用 3 楼 hyttplay 的回复:]
验证包。
方式1:一发一验证。
每发送一次,等待对方回应。超时重发
方式2:全部发完再验证。
验证方式同上
[/Quote]
能不能贴个代码?怎么知道超时了?
纵横宇宙
2010-12-22
打赏
举报
回复
验证包。
方式1:一发一验证。
每发送一次,等待对方回应。超时重发
方式2:全部发完再验证。
验证方式同上
大黄鸭在发光
2010-12-22
打赏
举报
回复
网络丢包,是再正常不过的了。
既然用UDP,就要接受丢包的现实,否则请用TCP。
如果必须使用UDP,而且丢包又是不能接受的,只好自己实现确认和重传,说白了,就是自己实现TCP
烈火蜓蜻
2010-12-22
打赏
举报
回复
丢包无法避免,只能是重发
纵横宇宙
2010-12-22
打赏
举报
回复
你可以自定义一个超时时间
给每个数据包定义一个唯一的ID标识符
每发完一个包就将ID添加到消息队列去
对方收到包,要回应,并且附带报道ID标识符
定时检测消息队列的信息,看有没有超时的包,再重发
C#
UDP
(
Socket
)异步传输文件
本文介绍如何在
C#
中利用
UDP
(
Socket
)实现文件的异步传输,包括文件传输进度显示、取消传输功能及
解决
丢包
问题
。
避开
C#
多线程与网络编程的15个常见坑(henu期末急救指南)
本文系统梳理
C#
多线程与网络编程中15个高频技术陷阱,涵盖竞态条件、死锁(含异步死锁)、TCP粘包/拆包、
UDP
丢包
乱序、资源泄漏(NetworkStream/Dispose/CancellationTokenSource)、异步异常黑洞、Process死锁、线程不安全集合、错误取消机制、Culture敏感字符串、SynchronizationContext阻塞、ArrayPool缓冲区管理、
Socket
超时缺失、编码不一致及心跳缺位等核心
问题
,聚焦原理分析与工程级
解决
方案。
UDP
解决
丢包
问题
总结
本文深入分析
UDP
丢包
的常见原因,包括缓存不足、处理速度慢、发包速率过快等,并提供针对性
解决
方案,如增加缓冲区大小、采用应答机制、多线程处理和应用层
丢包
重发机制。
UDP
主要
丢包
原因及具体
问题
分析
本文主要探讨了
UDP
丢包
问题
,分析了接收端处理时间长、包过大、发送频率快等
丢包
原因,还指出发送方和接收方
丢包
的不同情况。同时给出了切割小包、设置接收缓冲、增加握手、实现
丢包
重传等
解决
办法,此外还介绍了
丢包
率、吞吐量概念及检测方法。
Socket
编程 (异步通讯,
解决
Udp
丢包
)
本文介绍了一种基于
UDP
协议的文件传输方案,通过模拟TCP的三次握手机制和使用定时器来
解决
UDP
丢包
问题
,确保文件传输的完整性和可靠性。
C#
111,129
社区成员
642,534
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章