请教转发视频数据这个buffer如何写
请问转发视频数据这个buffer怎么写?
服务器不断地从设备接收视频数据(视频数据大小从1--20000字节不等),然后将数据分发到100个客户端,现在需要做一个数据缓冲区,在缓冲区的一端将数据不断的写入,另外一端不端的读取然后分发。
要求:
1 读取高效。
2 读取不能超过写入,如果相等,读取则等待1秒,如果buffer写慢,则写入等待1秒。
3 一次写入的数据大小是不能的(1--20000字节)。
请问
1 大家这个buffer改怎么写?大家对这个通信缓冲区应该比较熟悉了吧,给个例子就更好了。
2 因为服务器一帧数据需要转发到大量的客户端,使用send延时太厉害,请问大家用什么方法,完成端口?rtp?
先谢谢大狭!
------解决方案--------------------
用普通的FIFO缓冲(先进先出), 多线程注意数据安全就好了
------解决方案--------------------
socket 有组播发送 你可以关注下 一对多发送 不用你一个一个去发送 你的读写线程直接用事件同步 不就行了 感觉等待1秒方式并不是很好
------解决方案--------------------
100个客户端,视频....那只能考虑p2p了,数据量太大了,研究下网络电视的做法吧,我没做过路过- -~
------解决方案--------------------
等高手解答
服务器不断地从设备接收视频数据(视频数据大小从1--20000字节不等),然后将数据分发到100个客户端,现在需要做一个数据缓冲区,在缓冲区的一端将数据不断的写入,另外一端不端的读取然后分发。
要求:
1 读取高效。
2 读取不能超过写入,如果相等,读取则等待1秒,如果buffer写慢,则写入等待1秒。
3 一次写入的数据大小是不能的(1--20000字节)。
请问
1 大家这个buffer改怎么写?大家对这个通信缓冲区应该比较熟悉了吧,给个例子就更好了。
2 因为服务器一帧数据需要转发到大量的客户端,使用send延时太厉害,请问大家用什么方法,完成端口?rtp?
先谢谢大狭!
------解决方案--------------------
用普通的FIFO缓冲(先进先出), 多线程注意数据安全就好了
------解决方案--------------------
socket 有组播发送 你可以关注下 一对多发送 不用你一个一个去发送 你的读写线程直接用事件同步 不就行了 感觉等待1秒方式并不是很好
------解决方案--------------------
100个客户端,视频....那只能考虑p2p了,数据量太大了,研究下网络电视的做法吧,我没做过路过- -~
------解决方案--------------------
等高手解答