当前位置: 技术问答>linux和unix
求组播丢包的解决方法!(可加分)
来源: 互联网 发布时间:2016-06-19
本文导语: 我的程序是对视频进行编码并通过组播的方式发送出去。目前通过客户端软解发现图像偶尔会出现马赛克经过测试基本确定问题是在丢包的原因上。目前想求如何解决丢包的问题。 目前我用的是使用usleep的方式去减...
我的程序是对视频进行编码并通过组播的方式发送出去。目前通过客户端软解发现图像偶尔会出现马赛克经过测试基本确定问题是在丢包的原因上。目前想求如何解决丢包的问题。
目前我用的是使用usleep的方式去减缓发送的频率,不过由于我是多线程编码并组播发送的工作,如果每个线程使用usleep的话肯定会影响到其他线程,请问有没有什么方法可以替代usleep呢,例如加入循环?(不过不清楚循环多少次相当于多少毫秒呢)另外用usleep其实不是一个根本的解决方法,请教大家有没有什么更好的办法。
目前我用的是使用usleep的方式去减缓发送的频率,不过由于我是多线程编码并组播发送的工作,如果每个线程使用usleep的话肯定会影响到其他线程,请问有没有什么方法可以替代usleep呢,例如加入循环?(不过不清楚循环多少次相当于多少毫秒呢)另外用usleep其实不是一个根本的解决方法,请教大家有没有什么更好的办法。
|
你需要实现类似tcp的应答机制。具体你可以参考MFTP协议。关于该协议的内容你可以搜索一下。
|
丢包是不可避免的,要不然重传机制就没有存在的必要了。
|
循环肯定是不行的,循环次数一定执行时间不定。
再说丢包的解决办法最好就是确认重发机制了,要么就改造线路
试试在client端增加缓冲行不行?
再说丢包的解决办法最好就是确认重发机制了,要么就改造线路
试试在client端增加缓冲行不行?
|
不过由于我是多线程编码并组播发送的工作,如果每个线程使用usleep的话肯定会影响到其他线程
没听懂?线程的usleep会相互影响??我怎么觉得没影响,可以详示吗?
没听懂?线程的usleep会相互影响??我怎么觉得没影响,可以详示吗?