DAV数字音视工程网_会议系统、指挥调度、演艺科技、智能楼宇等音视频工程信息行业门户

DAV首頁
數(shù)字音視工程網

微信公眾號

數(shù)字音視工程網

手機DAV

null
null
null
卓華,
招商,
null
null
null
快捷,
null

我的位置:

share

數(shù)字視頻監(jiān)控應用中要注意的網絡問題

來源:慧聰安防網        編輯:windy    2012-02-24 10:10:55     加入收藏    咨詢

咨詢
所在單位:*
姓名:*
手機:*
職位:
郵箱:*
其他聯(lián)系方式:
咨詢內容:
驗證碼:
不能為空 驗證碼錯誤
確定

數(shù)字視頻監(jiān)控應用中,必須用到網絡通訊,就網絡通訊需要注意的幾個問題在這里表達下自己的看法。

  數(shù)字視頻監(jiān)控應用中,必須用到網絡通訊,就網絡通訊需要注意的幾個問題在這里表達下自己的看法。

  第一:網絡通訊中的收發(fā)效率

  視頻監(jiān)控中需要傳輸視頻流,視頻流是比較大的數(shù)據,所以對于網絡通訊的中的收發(fā)效率提高是比較關鍵的。

  在網絡通訊中TCP通訊包括send寫數(shù)據和recv讀數(shù)據。

  讀本質來說其實不能是讀,在實際中,具體的接收數(shù)據不是由這些調用來進行,是由于系統(tǒng)底層自動完成的,read也好,recv也好只負責把數(shù)據從底層緩沖copy到我們指定的位置.對于讀來說(read,或者recv),在阻塞條件下如果沒有發(fā)現(xiàn)數(shù)據在網絡緩沖中會一直等待,當發(fā)現(xiàn)有數(shù)據的時候會把數(shù)據讀到用戶指定的緩沖區(qū),但是如果這個時候讀到的數(shù)據量比較少,比參數(shù)中指定的長度要小,read并不會一直等待下去,而是立刻返回。read的原則是數(shù)據在不超過指定的長度的時候有多少讀多少,沒有數(shù)據就會一直等待。所以一般情況下我們讀取數(shù)據都需要采用循環(huán)讀的方式讀取數(shù)據,一次read完畢不能保證讀到我們需要長度的數(shù)據,read完一次需要判斷讀到的數(shù)據長度再決定是否還需要再次讀取。在非阻塞的情況下,read的行為是如果發(fā)現(xiàn)沒有數(shù)據就直接返回,如果發(fā)現(xiàn)有數(shù)據那么也是采用有多少讀多少的進行處理.對于讀而言,阻塞和非阻塞的區(qū)別在于沒有數(shù)據到達的時候是否立刻返回.recv中有一個MSG_WAITALL的參數(shù)recv(sockfd,buff,buff_size,MSG_WAITALL),在正常情況下recv是會等待直到讀取到buff_size長度的數(shù)據,但是這里的WAITALL也只是盡量讀全,在有中斷的情況下recv還是可能會被打斷,造成沒有讀完指定的buff_size的長度。所以即使是采用recv+WAITALL參數(shù)還是要考慮是否需要循環(huán)讀取的問題,在實驗中對于多數(shù)情況下recv還是可以讀完buff_size,所以相應的性能會比直接read進行循環(huán)讀要好一些。不過要注意的是這個時候的sockfd必須是處于阻塞模式下,否則WAITALL不能起作用。

  盡量使用非阻塞模式

  寫的本質也不是進行發(fā)送操作,而是把用戶態(tài)的數(shù)據copy到系統(tǒng)底層去,然后再由系統(tǒng)進行發(fā)送操作,返回成功只表示數(shù)據已經copy到底層緩沖,而不表示數(shù)據以及發(fā)出,更不能表示對端已經接收到數(shù)據.對于write(或者send)而言,在阻塞的情況是會一直等待直到write完全部的數(shù)據再返回.這點行為上與讀操作有所不同,究其原因主要是讀數(shù)據的時候我們并不知道對端到底有沒有數(shù)據,數(shù)據是在什么時候結束發(fā)送的,如果一直等待就可能會造成死循環(huán),所以并沒有去進行這方面的處理;而對于write,由于需要寫的長度是已知的,所以可以一直再寫,直到寫完.不過問題是write是可能被打斷造成write一次只write一部分數(shù)據,所以write的過程還是需要考慮循環(huán)write,只不過多數(shù)情況下一次write調用就可能成功。

  非阻塞寫的情況下,是采用可以寫多少就寫多少的策略.與讀不一樣的地方在于,有多少讀多少是由網絡發(fā)送的那一端是否有數(shù)據傳輸?shù)綖闃藴剩菍τ诳梢詫懚嗌偈怯杀镜氐木W絡堵塞情況為標準的,在網絡阻塞嚴重的時候,網絡層沒有足夠的內存來進行寫操作,這時候就會出現(xiàn)寫不成功的情況,阻塞情況下會盡可能(有可能被中斷)等待到數(shù)據全部發(fā)送完畢,對于非阻塞的情況就是一次寫多少算多少,沒有中斷的情況下也還是會出現(xiàn)write到一部分的情況.

  所以基于socket讀和寫的本質,我們可以得出結論,不是每次收發(fā)越大越好,也不是每次收發(fā)越小越好,需要根據網絡的實際情況得出這樣一個臨界值。

  第二:盡量使用非阻塞模式

  在這里有必要對阻塞的概念作一解釋:一個socket可以處于"阻塞模式"或"非阻塞模式",當一個套接字處于阻塞模式(即同步操作)時,它的阻塞函數(shù)直到操作完成才會返回控制權,之所以稱為阻塞是因為此套接字的阻塞函數(shù)在完成操作返回之前什么也不能做。如果一個socket處于非阻塞模式(即異步操作),則會被調用函數(shù)立即返回。可以用GetLastError成員函數(shù)查詢最后的錯誤。微軟建議盡量使用非阻塞模式,通過網絡事件的發(fā)生而通知應用程序進行相應的處理。

  在視頻數(shù)據傳輸部分為了不影響其他的業(yè)務,所以建議都使用線程在線程中用非阻塞模式的socket來收發(fā)數(shù)據,這樣既不會影響其他業(yè)務的正常運作,還不會導致如果是阻塞模式下阻塞情況下線程退出不及時的問題。

免責聲明:本文來源于慧聰安防網,本文僅代表作者個人觀點,本站不作任何保證和承諾,若有任何疑問,請與本文作者聯(lián)系或有侵權行為聯(lián)系本站刪除。(原創(chuàng)稿件未經許可,不可轉載,轉載請注明來源)
掃一掃關注數(shù)字音視工程網公眾號

相關閱讀related

    評論comment

     
    驗證碼:
    您還能輸入500
      主站蜘蛛池模板: 河北徐工鲲鹏工程机械有限公司无锡分公司| 维启科技-创造科技的无限可能 | 上海维启信息技术有限公司 建筑仿真 BIM 虚拟现实 VR AR 顶岗实习 建筑智能模型 | 小字符喷码机,激光喷码机,喷码机厂家_山东闪创电子设备有限公司 小型生活污水处理设备_MBR膜生物反应器_口腔医院/脱脂污水处理设备_酸洗磷化/喷涂废水处理设备-上海台江环保 | 连续式回转炉_间歇式回转炉_燃气式回转炉_电加热回转炉-长兴博达机械配件有限公司 | 亦庄律师法律咨询|北京亦庄律师在线|-亦庄律师事务所 | 湿电电源,静电除尘电源,电捕焦电源-山东仕瑞电气科技有限公司 | 离子交换树脂_阴离子交换树脂_阳离子交换树脂-中国树脂网 | 联想南京总代理-联想服务器|联想电脑笔记本代理商|联想工作站|dell服务器|HP服务器|南京IBM代理商|IBM V5000存储总包销-南京宇宽科技有限公司 | 溶气气浮机_一体化净水设备_污水处理设备_mbr一体化污水处理设备-明基环保 | 液压万能试验机-液压式万能试验机-万能试验机厂家-济南鸿君试验机 | 重庆化粪池清淘_管道疏通_高压疏通清洗管道_电话:023-68183336,15723234763 | 磐石在线-磐石市综合信息门户网www.pszx.com - Powered by Discuz! | 商城网站建设_商城系统_响应式商城_小程序商城_FwShop | 室内儿童乐园定制_淘气堡订做_蹦床公园订制厂家-乐奇多 | 汽车蓄电池配件_蓄电池维护保养产品_叉车电池配件研发生产厂家—联鸿能源 | 暖气片_铜铝复合暖气片_钢制散热器厂家-德克菲勒暖气片 | 辽宁闻天香食品有限公司| 中原起重-河南省中原起重机有限公司【官网】 | 涡流探伤仪-超声波探伤仪-上海仓信电子科技有限公司 | 珍珠岩_膨胀珍珠岩_玻化微珠-信阳市高新区中凯非金属材料厂 | 潍坊亿宏重工机械有限公司,破碎机,高性能立磨机,颚式破碎机,锤式破碎机反击式破碎机,重锤式破碎机,高性能反击式破碎机,圆锥式破碎机,给料机系列,链板给料机系列,简易给料机系列,振动给料机 | 松下PLC经销商-松下传感器-放大器-电磁阀-光电开关-金器[东莞均钛]品牌气动元件及工控产品一站式供应商 | 噪声治理,消声器,隔声屏障,隔声罩,噪声控制,降噪,空调降噪,水泵噪声治理,冷却塔噪声治理-北京华清恒业环保设备有限公司 | 罗茨鼓风机维修_三叶罗茨风机维修厂家电话_山东长沙章丘鼓风机修理_章鼓高压真空泵「上门服务」 罗茨鼓风机价格_三叶罗茨鼓风机厂家-山东锦工有限公司 | 重庆监控-监控系统-大型弱电工程-重庆万建电子工程有限责任公司是智能化一级工程公司 | 水处理设备_纯净水设备_软化水设备_反渗透水处理设备「陕西甘肃青海宁夏新疆」认准海川环保 | 拉布机_全自动拉布机_全自动拉布机厂家-江苏拉布机械科技有限公司 | 太阳能杀虫灯-农业用杀虫灯-果园灭虫灯厂家「尚科杀虫灯| | 上海消防器材|水雾喷头|水幕喷头|螺旋喷头|雾化喷头|泡沫喷头 - 上海舜丹消防设备有限公司 | 上海钧尚电器有限公司 - Faulhaber电机 AMETEK pittman电机 AMETEK ROTRON军用航空风机 Exlar电动缸 MAE电机 MCG电机 CP电动工具 马头工具 AMCI驱动器 直流电机 减速箱 直流伺服电机,无刷电机,直线电机 直流防爆电机 防爆电机 汽车助力转向电机 EPS电机 faulhaber motor faulhaber gearbox NANOTEC电机 ELWOOD电机 PHYTRON电机 EXLAR伺服电动缸 高力矩、高性能直流电机,音圈电机,风机,直流风机,航空风机 | 世博磁力泵,耐腐蚀磁力泵,耐酸碱磁力泵,氟塑料磁力泵-苏州冠裕机电科技有限公司 | 减速电机-调速电机-四大系列减速机-减速电机厂家-深圳市鑫希田机电有限公司官网 | 盘扣租赁|盘扣架租赁|盘扣脚手架|盘扣脚手架租赁|盘扣式脚手架|盘扣式脚手架租赁-北京亚欧盟盘扣租赁有限公司 | 石家庄驾校之家_石家庄驾校哪个好_石家庄驾校报名-石家庄万晟网络驾驶资讯 | 手术示教系统-实训示教系统-数字化手术室-直播录播系统 - 深圳市视源视讯技术有限公司 | 喷涂机器人|自动喷涂生产线|自动喷涂设备|自动化生产线-深圳市荣德机器人科技有限公司 | 联智通达_工控一体机_工业触摸一体机_工业一体机_工业触控一体机_POS机主板_工控主板_国产化主板_RK3588主板厂商-联智通达 | 液压扳手-液压扭力扳手-电动扭矩扳手-气动扭力扳手-波霆机械(上海) | 上海品牌设计公司|品牌策划公司|包装设计公司|上海全案LOGO设计VI设计-木马品牌设计 | 随车吊/洒水车/低平板运输车-程力专用汽车股份有限公司 | 上海增晨贸易有限公司-PC端|