如何解决UDP丢包问题
展开全部
看你需要是否严谨。
udp传输本来就会丢失包的现象,但是效率高。
如果需求比较严谨的话 用tcp传输。不过效率就没有udp高。
udp本来就是这样设计的,是本身的特性,除非你自己写个udp。
包多的时候,要能保证接收端在收到数据后能立刻再次回到监听状态,以防在处理这个包的消息的时候有新的包发过来却因为接收端还未回到监听状态而造成丢包。研究一下委托回调吧。
另一个是要注意每个包不要携带过长的数据量,可以拆分成若干小包后在每个包头前编号,接收端在收到后排序整理,发现哪个编号丢了返还给发送端要求冲发该吧。研究下消息队列吧。
udp传输本来就会丢失包的现象,但是效率高。
如果需求比较严谨的话 用tcp传输。不过效率就没有udp高。
udp本来就是这样设计的,是本身的特性,除非你自己写个udp。
包多的时候,要能保证接收端在收到数据后能立刻再次回到监听状态,以防在处理这个包的消息的时候有新的包发过来却因为接收端还未回到监听状态而造成丢包。研究一下委托回调吧。
另一个是要注意每个包不要携带过长的数据量,可以拆分成若干小包后在每个包头前编号,接收端在收到后排序整理,发现哪个编号丢了返还给发送端要求冲发该吧。研究下消息队列吧。
展开全部
增大接收端的缓冲区大小;
增大接收端的处理能力;
......
增大接收端的处理能力;
......
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个范围可广泛了。。。
udp本身就是不可靠的连接,存在一定的丢包率是可以接受的。
udp本身就是不可靠的连接,存在一定的丢包率是可以接受的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询