有个视频采集卡,不断的采集图片,然后要把图片传输到客户端显示,假设每秒传10张的话,直接用TCP传输会总出错(传的慢些的时候还好,也可能是我编写的代码本身就有问题),想知道如果先把图片传输到sql数据库,然后客户端再实时读取显示,这么做效果怎么样,会比TCP直接传输好吗?
假设在局域网的环境下,最好能解释下为什么,感谢啊。
假设在局域网的环境下,最好能解释下为什么,感谢啊。
解决方案 »
- CFile小问题
- 选择迷茫
- 请问怎样声明CListView啊?
- 请大家帮看一下这样的一套系统大概多少钱?
- 要实现一个自动查找活动硬盘,并自动拷贝文件到指定目录的程序,望指点!!
- 哪位先生知道这几行VC下代码的意思?高分相送
- 一个ListView的问题,,一定给分
- virtual void OnDraw( CDC* pDC, const CRect& rcBounds, const CRect& rcInvalid );中的rcInvalid 是干什么用的?
- 怎么判断h.264数据里的关键帧呢?
- 在VC程序里,怎样创建文件夹?--->这个问题很难吗?
- 怎么实现图层的叠加啊
- 请教为什么在WinCE下,如下代码SetPixel总是得到同一种颜色?
感觉视频监控没必要用tcp,又不是必须保证每一幅图像都不能丢失,偶尔丢失一两副图像是不会影响视频质量的,tcp为了保证数据的安全到达,每次传输都需要等待接收方回应,这里无疑使得速度慢掉了,而udp则不会有这个问题,况且你是在局域网中,局域网一般都是100M,网络环境应该是没有问题的,我看别人做的桌面监控(几乎相同的原理,截屏,按照一定的频率发图像给服务器,然后显示),或者视频会议,都是用的udp,把采集到的图像数据,用定时器,设置一定的频率,比如每秒10张,发给服务器,然后显示,因为udp不需要确认,无等待,也不优化,所以,如果忽略掉网络延迟,接收方几乎可以按照这个频率来显示。
如果你先放进数据库的话,只能说有可能只能保证你不会出错,但是效果肯定有延迟,因为你先放到数据库中的话,你和数据库之间的通信别人的数据库系统肯定给你处理了异常并保证通信安全,然后你查数据库显示数据这个没什么出错不出错的吧