freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于字符串的ipc網(wǎng)絡(luò)協(xié)議的設(shè)計與實現(xiàn)(參考版)

2024-09-07 05:39本頁面
  

【正文】 最后,感謝在大學(xué)里使我擁有獨立思想的網(wǎng)絡(luò)紅人許四多,你們教給我的思想上的、文化和知識上的寶貴財富將影響我的一生。 中國石油大學(xué)(華 東)本科畢業(yè)設(shè)計 (論文 ) 25 致 謝 大學(xué)的生活即將結(jié)束,雖然我學(xué)到了一些知識,可是感覺大學(xué)里更重要的是培養(yǎng)一個人獨立的思想,就像上面的結(jié)論中說的,只有一個人的思想解開后他的創(chuàng)造力才能得到釋放,為什么我們國家現(xiàn)在只能模仿別人,錢學(xué)森也說了,中國從 1949 年之后就沒有一所大學(xué)能夠按培養(yǎng)科學(xué)創(chuàng)新模式人才的道路辦學(xué),最主要的是沒有解放思想。 選課題之前很多人會去詢問別人的意見,尤其是上一屆的,這是必要的,因為他們知道哪些相對簡單一些,但是這些其實是不準確的,因為每個人的實力不一樣智商也不一樣,所以面對問題所表現(xiàn)出來的感覺也不一樣,所以不能只聽別人怎么說我們就怎么做,但是我們長期接受的教育使我們習(xí)慣于去接受,很少有思考并得到新的看法的。我在測試是階段就因為這個原因燒壞了好多程序,后來運用了掛載技術(shù),將可升級程序掛載到設(shè)備上,這才避免了內(nèi)部程序遭到破壞的危險。這些過程與網(wǎng)絡(luò)協(xié)議是密不可分的,畫面的傳輸應(yīng)用的是 TCP 協(xié)議,聲音的傳輸應(yīng)用的是 UDP 協(xié)議,另外還有一種我們公司自己設(shè)置的云平臺( VVNAT),由于時間原因我還未充分理解這樣的云平臺,暫且引用過來。 該課題運用嵌入式網(wǎng)絡(luò)編程技術(shù),根據(jù)設(shè)備要求處理網(wǎng)絡(luò)數(shù)據(jù),提供網(wǎng)絡(luò)協(xié)議,應(yīng)用程序不斷地調(diào)用內(nèi)核函數(shù)使運行速度加快了, Linux 中網(wǎng)絡(luò)編程是通過 socket 套接字接口來進行的,這一抽象的概念方便了聯(lián)網(wǎng)應(yīng)用程序的編程。 我分析了一下,這是由于在 TCP 中加了一些不必要的鎖,這些鎖雖然沒和 Send 線程發(fā)生競爭,但是進入以及退出鎖時會花費時間,這對畫面的發(fā)送是有影響的,即便如此,在去掉這些鎖之后,畫面仍然沒達到完全一致的地步,這是因為函數(shù)調(diào)用進入隊列會有一定的時間誤差,而且 Send 線程里也有一些互斥鎖,需要花費一定時間, 所以這個問題沒有最終解決,不過客戶那邊接受了修改之后的產(chǎn)品 . 如圖 ( 2)所示 圖 ( 2) 16 路畫面一致 第 6章 總結(jié) 23 第 6章 總結(jié) 本課題采用 C++語言,應(yīng)用 source insight 編輯器,在 Linux環(huán)境下使用 ARM 平臺交叉編譯生成可執(zhí)行文件,最后將該文件移植入 DSP 芯片,通過設(shè)定芯片所在設(shè)備的IP 地址以及 MAC 地址(公司內(nèi)部的 MAC 地址是無法連外網(wǎng)的)在 IE 端或者指定的軟件上執(zhí)行程序,使設(shè)備運行。這是發(fā)送圖像的函數(shù),整個圖像的發(fā)送是由 Heartbeat線程從 Send 隊列中取數(shù)據(jù)然后進行發(fā)送的,最多支持 16 路畫面,所以有 16 個隊列,另外還申請了一塊節(jié)點空間, Send 隊列不斷地取節(jié)點 到各個隊列中,用完的節(jié)點再釋放回節(jié)點池,這一過程中 Send 的效率是足夠高的,問題最終出現(xiàn)在 Heartbeat 線程這一塊,因為在 Linux終端打印消息時出現(xiàn)了 Heartbeat 線程所調(diào)用的一個函數(shù)里的失敗的消息,是由于 Heartbeat 線程沒能及時把 Send 線程里的數(shù)據(jù)發(fā)送出去造成的,所以最終把問題鎖定了。第 5章 IPC的系統(tǒng)功能測試 21 IE 端的畫面通過截圖后發(fā)現(xiàn)果然存在偏差,這是肉眼看不出來的,因為畫面之間誤差只有不到 ,而人的視 覺暫留時間在 到 之間,所以一般是看不出來的。 經(jīng)過這次經(jīng)驗我充分了解到直接交流的重要性,因為傳遞口信的人有事可能沒完全理解傳達者的本意,所以傳達消息時可能會出現(xiàn)偏差,這對解決問題的總方向的把握會有絕對的影響的。 視頻顯示不同步問題 視頻源連接到 BLK5016TS 系列開發(fā)板上,當 16 路視頻接 的同一視頻源時 IE 端 16路畫面顯示之間不同步。 還有就是我在寫代碼之前看了好多別人寫的代碼,自己也參考了一下格式,總之學(xué)到了很多經(jīng)驗,但是還是由于自己以前代碼寫得少的緣故,檢查代碼時特別費勁,更加不可思議的是我的限選課選的方向是嵌入式和軟件,關(guān)于網(wǎng)絡(luò)的課程一門都沒選,而我的工作又是更網(wǎng)絡(luò)密不可分的,所以我還要一邊看書一邊了解網(wǎng)絡(luò)協(xié)議,要不然根本無法理解 i_ntoa[9]()與 htonl(), TCP 與 UDP 的含義還有區(qū)別。 這個 BUG 同樣是由測試部反饋給我們的,為此,我特意申請了一個 IPC,在 IE 端的新增用戶組里添加了新的用戶,并用新用戶重新登錄,登陸之后改變了 IPC 的部分屬性,我選擇的是改變制式,一般情況下,系統(tǒng)默認的用戶 admin在改變屬性后有一個重啟提示,確認后 IPC 將重新啟動,但是新增用戶在改變屬性后卻無法重啟,而且就連用戶在剛建立時屬性都選擇不了,全是系統(tǒng)默認的屬性,這樣明顯是無法適應(yīng) 用戶的使用的,所以我就開始找相應(yīng)部分的代碼。但是由于才改了幾次 BUG,所以還是 不太熟練,等以后熟練了我會把經(jīng)驗總結(jié)一下以供之后的人參考。 修改完后再測試發(fā)現(xiàn)效果很好,測試部的詳細測試后也沒再反映問題。我把每次發(fā)送的間隔時間固定在 40ms,休眠時間設(shè)置成 40ms 減去兩次兩次調(diào)用函數(shù)的時間差。第 5章 IPC的系統(tǒng)功能測試 19 圖像是每秒鐘發(fā)送 25 幀,聲音跟圖像一樣,所以每 40ms 發(fā)一次是最佳狀態(tài),超過40ms 會卡,低于 40ms 客戶端可能會存在存儲問題,所以 40ms 是最佳的。最后發(fā)現(xiàn)不可能是丟幀,因為丟幀的話根本不會發(fā)送出去,還有就是發(fā)送速度只要夠快,客戶端可以把接收到的數(shù)據(jù)暫時儲存起來,當存儲空間滿了可以返回一個命令使 PU端暫時停止發(fā)送數(shù)據(jù),也就是說只要數(shù)據(jù)發(fā)送及時就不會出現(xiàn)聲音卡頓問題。起初我判斷的是聲音卡頓跟聲音的比特率有關(guān),但是主管說所有的聲音( mp3,wma 之類)在PU 端都已經(jīng)轉(zhuǎn)化成 G711 格式的聲音,就是所說的網(wǎng)絡(luò)傳輸中的公 用的格式,碼率是72bps,所以我之前得到的結(jié)論就這樣被推翻了。這是最新開發(fā)的程序中出現(xiàn)的問題,因此我參考了之前的可執(zhí)行文件的效果。 下面我就按照測試部反饋給我的問題的時間順序作一下詳細說明。 第 5章 IPC的系統(tǒng)功能測試 18 第 5 章 IPC的系統(tǒng)功能測試 整個 IPC 的功能實現(xiàn)后我們并開始了一系列的測試,在測試的過程的遇到了一些功能沒有實現(xiàn)的模塊,還有一些功能雖然實現(xiàn)了但是沒有達到預(yù)期的效果,小組的各成員都存在著一定的功能實現(xiàn)問題,這其實是正 常的情況,因為在編寫代碼的時候不能結(jié)合設(shè)備進行實時測試,而這也是不科學(xué)的,效率太低,所以一般是等代碼部分全部完成并組合起來聯(lián)合調(diào)試。 2 狀態(tài):(日常信息維護)測試連接狀態(tài),連接斷開時進入狀態(tài) 0,連接服務(wù)器。 1 狀態(tài):連接服務(wù)器,第一次初始化,如果服務(wù)器為空則在服務(wù)器端創(chuàng)建 Socket 并分配空間,這時候就開啟服務(wù)器了。 第 4章 IPC的詳細設(shè)計與實現(xiàn) 17 0 狀態(tài): DNS 探測校驗 IP 地址的有效性,校驗成功后就進入狀態(tài) 1。因 為單件模式的函數(shù)在整個過程中只滿足它的條件一次,所以只需調(diào)用一次。 在代碼中是用 VVNAT 代表的云平臺?,F(xiàn)在打算把這兩個功能全放到云臺控制中去。 主動注冊語音對講 這一部分不是由我完成的,所以這里不作過多說明,而且過程與上面的相似。 PU鑒權(quán)成功后, PU開啟捕獲模塊,開始語音數(shù)據(jù)發(fā)送,語音數(shù)據(jù)的包序號從 1 開始遞增,同時 CU也開始語音數(shù)據(jù)發(fā)送,語音數(shù)據(jù)的包序號從 1 開始遞增。同時只支持一個CU 與 PU 進行語音對講,如果已經(jīng)與其他 CU 開啟了語音對講,返回 已經(jīng)開始對講錯誤碼 。 CU通過新建套接字發(fā)送認領(lǐng)請求,請求中包含通道號(目前只支持一路對講,通道號為 0),未登陸的主連接必需要先認領(lǐng),否則其上的操作一概不理認領(lǐng)后就變成子連接了。 第 4章 IPC的詳細設(shè)計與實現(xiàn) 16 主動注冊回放控制 由 PU端主動連接 CU端,其他過程與上面的回放過程類似。新建 Socket 用于傳輸視頻數(shù)據(jù),通過新建套接字發(fā)送認領(lǐng)請求,認領(lǐng)成功返回成功標志;通過主 Socket 請求回放,回放包括動作、文件名、開始時間、結(jié)束時間。 CU請求關(guān)閉視頻監(jiān)視,請求中包含通道,碼流類型,停止捕獲模塊,停止視頻數(shù)據(jù)發(fā)送 , PU返回應(yīng)答信息,關(guān)閉對應(yīng)媒體數(shù)據(jù)發(fā)送 socket。 CU請求視頻監(jiān)視,請求中包含通道,碼流類型, PU 通過這個識別對應(yīng)的媒體數(shù)據(jù)發(fā)送 socket。 PU與 CU建立套接字用于媒體數(shù)據(jù)傳輸。 CU通過主 socket 發(fā)送主動注冊監(jiān)視請求,請求中包含通道號,碼流類型。這就是普通監(jiān)視控制的全過程,由于這里有兩個連接,也就是兩個Socket,所以主連接我用的是主 Socket,子連接我用的是套接字這個詞,以方便讀者閱讀。監(jiān)權(quán)成功后返回成功標志,返回主連接。通過新建的套接字發(fā)送認領(lǐng)請求,認領(lǐng)成功后返回成第 4章 IPC的詳細設(shè)計與實現(xiàn) 15 功標志,在新建套接字的認領(lǐng)之后要開始監(jiān)視,則在主連接上發(fā)起一個打開監(jiān)視的命令,而 這個命令的執(zhí)行需要傳遞給對應(yīng)的子連接去處理,所以暫時保存主連接收到的信息以使它們可以快速的定位到子連接中去。 如圖 所示 C U P U建 立 主 s o c k e t連 接 , 用 于 控 制流 傳 輸?shù)?錄 請 求 ( 用 戶 名 , 密 碼 ,通 道 個 數(shù) , 設(shè) 備 類 型 等 )登 錄 成 功 , 返 回 o k 圖 主動注冊登錄 登出 保活 監(jiān)視控制流程 普通監(jiān)視控制 通過之前的登錄已經(jīng)建立好了主 Socket 連接,也就是說視頻監(jiān)視的前面的過程和普通登錄里的過程是一樣的。 ? PU與 CU建立主 socket 用于控制流傳輸 ? PU 通過主 socket 發(fā)送登錄請求,請求中包含用戶名,密碼,加密方式,設(shè)備類型,通道個數(shù)。 主動注冊登錄 普通登錄是由 CU(比如 IE 端)向 PU(比如 IPC)發(fā)送 TCP 請求, PU端收到請求后對 CU端作出應(yīng)答,允許建立連接。 代碼部分的流程: start 啟動線程, Connectcallback()連接回調(diào)函數(shù)建立主連接,將傳入的連接加入 InsertConnect()中。發(fā)送登錄請求,請求中包含用戶名、密碼、加密方式、登錄類型。下面就以我做的幾個功能作一下詳細的介紹。剩下的都是小組其他成員負責完成的,最終代碼有小組組長整合微調(diào)并上傳。 第 4章 IPC的詳細設(shè)計與實現(xiàn) 13 第 4 章 IPC的詳細設(shè)計實現(xiàn) 整個系統(tǒng)的詳細設(shè)計 整個系統(tǒng)的詳細設(shè)計也就是工作流程詳細設(shè)計,主要可以劃分為以下幾個部分, PU與 CU進行交互成功后,除了有需要返回的數(shù)據(jù)外,還帶有一個返回碼,具體見返回碼定義表,無特別說明,控制流都是通過主 socket 進行通信。 : RTC,報警輸入輸出, USB,前面板。 :目前嵌入式 DVR 的存儲介質(zhì)主要是硬盤,刻錄光驅(qū), USB 存儲第 3章 IPC所用到的 軟件網(wǎng)絡(luò)以及硬件技術(shù) 12 。 ( DA):這里描述的視頻解碼模塊主要是解碼芯片及其外圍,如 VGA輸出,如早期我們公司使用的 Hi3120 和 NVP5000 。 ( AD):前端視頻解碼芯片簡稱前端 AD,目前有 Techwell ,Nextchip, Richnex,以及臺灣的一些 AD 廠家。 :閃存是一種無揮發(fā)性( NonVolatile )內(nèi)存,在沒有電流供應(yīng)的條件下也能夠長久地保持數(shù)據(jù),其存儲特性相當于硬盤,這項特性正是閃存得以成為各類便攜型數(shù)字設(shè)備的存儲介質(zhì)的基礎(chǔ)。 內(nèi)存的 性能指標:存儲容量,存儲速度,存儲的可靠性,性能價格比。其主要規(guī)格如下: 集成 32KB L1 指令 Cache 和 32KB L1 數(shù)據(jù)Cache,集成 256KB L2 Cache,集成 VFP, 功能最高頻率 800MHz,處理能力可達2020DMIPS。 :控制完成取出指令和執(zhí)行指令任務(wù)的部件,它是系統(tǒng)的核心部件 . 我所了解的 IPC 方案中應(yīng)用的中央處理器采用的芯片是 Hi3515,TI ( DM365) GM8181 等。但 DVR 硬件的組成不盡相同, DVR方案設(shè)計中的硬件大致有一下幾個部分組成: 。之前還有一種訪問方式,就是說 PU端分配了好多 IP 地址,這些IP 地址用了不同的端口, CU端訪問這些端口時通過 DNS 解析將 PU端的端口解析成自己能夠識別的端口進行訪問,之前這兩種訪問方式是分開進行的,最近正在調(diào)試將兩種合在一起,把第二種也加進云平臺,這樣就可以統(tǒng)一在云平臺給用戶提供服務(wù),這部分第 3章 IPC所用到的 軟件網(wǎng)絡(luò)以及硬件技術(shù) 11 代碼我已經(jīng)完成,應(yīng)用部那邊還沒改好,需要與他們聯(lián)合調(diào)試,所以一直未 能進行,這項工作我想會在畢業(yè)以后回單位再跟他們合作完成吧
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1