如何解决UDP丢包问题
发布网友
发布时间:2022-04-24 02:06
我来回答
共3个回答
热心网友
时间:2022-05-07 04:40
看你需要是否严谨。
udp传输本来就会丢失包的现象,但是效率高。
如果需求比较严谨的话 用tcp传输。不过效率就没有udp高。
udp本来就是这样设计的,是本身的特性,除非你自己写个udp。
包多的时候,要能保证接收端在收到数据后能立刻再次回到监听状态,以防在处理这个包的消息的时候有新的包发过来却因为接收端还未回到监听状态而造成丢包。研究一下委托回调吧。
另一个是要注意每个包不要携带过长的数据量,可以拆分成若干小包后在每个包头前编号,接收端在收到后排序整理,发现哪个编号丢了返还给发送端要求冲发该吧。研究下消息队列吧。
热心网友
时间:2022-05-07 05:58
增大接收端的缓冲区大小;
增大接收端的处理能力;
......
热心网友
时间:2022-05-07 07:32
这个范围可广泛了。。。
udp本身就是不可靠的连接,存在一定的丢包率是可以接受的。