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

正文內(nèi)容

局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2024-10-03 16:01 本頁面
 

【文章內(nèi)容簡介】 PTUREPARAMS 主要包含一些獲取圖像的參數(shù): DWORD dwRequestMicroSecPerFrame 代表相鄰兩個(gè) frame 的獲取時(shí) 間間隔; BOOL fYield值為 TRUE,則表示 Windows 會(huì)以另一個(gè) thread 來捕獲影像,值為 FALSE,程序會(huì)在捕捉影像后顯示忙碌狀態(tài); BOOL fCaptureAudio 其值表示是否需要同時(shí)獲取聲音資料。 結(jié)構(gòu)體 BITMAPINFO 和點(diǎn)陣圖有關(guān),主要定義了影像獲取之后顯示在屏幕上、存儲(chǔ)在文件中的格式,它包含兩個(gè)成員: BITMAPINFOHEADER bmiHeader 描述影像性質(zhì)的結(jié)構(gòu),其成員記載了影像的大小、顏色深度和壓縮的方式,該成員在Video Capture、 Video Compression Manager 和 DrawDib 函數(shù)庫中,以及有關(guān)于點(diǎn)陣圖的應(yīng)用中; RGBQUAD bmiColors 指向 color table 第一個(gè)元素的位置。 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 12 結(jié)構(gòu)體 COMPVARS 主要是記錄所有和壓縮相關(guān)的信息,重要的成員: DWORD fccHandler 為 pressor 句柄; LPBITMAPINFO lpbiIn 指向待壓縮影像BITMAPINFO 的指標(biāo); LPBITMAPINFO lpbitOut:指向壓縮完影像 BITMAPINFO 的指標(biāo); LONG lKey 代表 keyframe rate,而所謂 key frame 是指此 frame 在解壓縮時(shí)不需要依賴前面的 frame; LONG lQ 代表影像壓縮后的品質(zhì),取值為 1~ 10000的整數(shù)。 Video Compression Functions 主要記錄壓縮功能相關(guān)的信息,其包含的比較重要的成員: ICLocate 輸入指向壓縮前后 BITMAPINFO 的指標(biāo),以及欲使用的codecs; ICCompressorChoose 呼叫一個(gè)系統(tǒng)內(nèi)建的對(duì)話,其中包含所有可能使用的 codes 以及其相關(guān)參數(shù); ICCompressQuery 詢問 pressor 是否支持某種壓縮方式,輸入?yún)?數(shù)為 pressor handle 及指向壓縮前后 BITMAPINFO 的指標(biāo),此函數(shù)會(huì)傳回詢問結(jié)果; ICCompressBegin要求系統(tǒng)準(zhǔn)備相關(guān)資源以供壓縮之用;ICCompress 壓縮某個(gè) frame; ICCompressEnd 歸還相關(guān)資源給系統(tǒng);ICDompressQuery 詢問 depressor 是否支持某種解壓縮方式;ICDompressBegin 要求系統(tǒng)準(zhǔn)備相關(guān)資源以供解壓縮之用; ICDompress 解壓縮某一個(gè) frame; ICDompressEnd歸還相關(guān)資源給系統(tǒng); ICDompressFree歸還 COMPVARS所占用的資源。 VC++ 簡介 我們通常所說的 Visual C++實(shí)際上是一個(gè)完善的、非常強(qiáng)大的 C++程序開發(fā)環(huán)境,它的名字是 Microsoft Developer Studio 。二者之間的細(xì)小差別并不重要,通常這兩個(gè)術(shù)語可以互換。但如果你不圍繞 Developer Studio 來進(jìn)行學(xué)習(xí),就不能有效地使用 Visual C++( Developer Studio 聽起來很像 Visual Studio , 但它們之間沒有關(guān)系)。它包含: C++編譯器、調(diào)試器、應(yīng)用程序框架 生成器、項(xiàng)目管理器、設(shè)計(jì)和實(shí)現(xiàn)菜單等資源的編輯器等等。 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 13 第三章 系統(tǒng)功能分析 系統(tǒng)功能模塊圖 圖 系統(tǒng)功能模塊圖 文字聊天 文字聊天采用的是 TCP 模式,包括服務(wù)器端( server) 和客戶端 (client)。 首先啟動(dòng)服務(wù)器端,客戶端通過用戶名和密碼登錄服務(wù)器,服務(wù)器響應(yīng)客戶端登錄并提示有用戶登錄,此時(shí)兩個(gè)用戶就可以進(jìn)行文字聊天,在文字聊天時(shí)信息通過服務(wù)器中轉(zhuǎn),而每個(gè)用戶可以同時(shí)與多個(gè)用戶進(jìn)行文字聊天。當(dāng)有用戶退出時(shí),服務(wù)器做出響應(yīng),提示在線用戶 ,下線用戶。 文字聊天流程圖如圖 。 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 14 圖 文字聊天流程圖 語音視頻聊天 語音視頻聊天時(shí)采用的是 UDP 模式,客戶端與客戶端點(diǎn)對(duì)點(diǎn)的進(jìn)行,不需要經(jīng)過服務(wù)器端中轉(zhuǎn)。 在文字聊天的基礎(chǔ)上,客戶端之間可以進(jìn)行自行處理的語音視頻聊天,運(yùn)用VFW 函數(shù)庫中的函數(shù)對(duì) USB 口輸入的數(shù)字視頻信息進(jìn)行相關(guān)處理 ,比如 :視頻捕獲、影像壓縮以及影像播放等,同時(shí)利用線程來處理聲音部分的錄制、回放等。 A客戶端向 B客戶端請(qǐng)求語音視頻聊天是通過 B客戶端的用戶名來獲得 B 客局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 15 戶端的 IP 地址,并向 B 客戶端發(fā)送語音視頻聊天請(qǐng)求,當(dāng) B客戶端接受后捕獲視頻,并進(jìn)行壓縮傳輸?shù)?A客戶端解壓并進(jìn)行播放,在 B客戶端接受視頻的同時(shí),A客戶端也捕獲視頻,壓縮傳輸?shù)?B客戶端解壓并進(jìn)行顯示。語音視頻聊天流程圖如圖 。 圖 語音視頻聊天流程圖 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 16 系統(tǒng)特點(diǎn) 程序較小,啟動(dòng)速度快。啟動(dòng)后的應(yīng)用界面要清爽,設(shè)計(jì)要簡單明了,具有較高的易用性。在遇到可預(yù)知的故障與情況時(shí),能提示用戶并自動(dòng)退出 。 在遇到不可預(yù)知的故障時(shí)能安全退出。 運(yùn)行環(huán)境 硬件環(huán)境: 計(jì)算機(jī)兩臺(tái),如下: CPU: 1GHz 以上 內(nèi)存: 256MB 以上 硬盤 : 20GB 以上 其它:分別配有攝像頭、麥克風(fēng)、音響或者耳機(jī)等外部設(shè)備 軟件環(huán)境: Windows XP/7操作系統(tǒng) Microsoft Visual Stdio 性能需求分析 1. 可靠性高 能在由于系統(tǒng)問題或其它原因產(chǎn)生錯(cuò)誤后,作出相對(duì)應(yīng)處理,比如網(wǎng)絡(luò)初始化失敗、服務(wù)器不在線等,可以提示用戶安全退出本程序,在出現(xiàn)不可知的錯(cuò)誤以后,可以盡量安全的退出程序。 在程序的設(shè)計(jì)過程中,要求能盡可能多的設(shè)想到用戶使用過程中可能發(fā)生的事件,并能在判斷事件后做出相應(yīng)的處理,使程序具有較高的容錯(cuò)性能。 2. 宜操作性,程序簡單易懂,用戶能很容易看懂并使用。 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 17 界面設(shè)計(jì) 服務(wù)器登錄界面 圖 服務(wù)器登錄界面 用戶登錄界面 圖 用戶 登錄界面 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 18 用戶登陸后界面 圖 用戶登錄后的界面 第四章 詳細(xì)設(shè)計(jì)及編碼實(shí)現(xiàn) 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 19 TCP 套接字的運(yùn)用 在文字聊天時(shí) ,服務(wù)器端與客戶端的連接是采用的 TCP 套接節(jié)進(jìn)行連接。 TCP套接字的使用如下圖。創(chuàng)建 CSocket 對(duì)象 CSocketServer 來處理服務(wù)器端與客戶端的連接, CSocket 繼承于 CasyncSocket,是 Windows Socket API 的高層抽象。 CSocket 通常和 CsocketFile 以及 Carchive 類混合使用,這兩個(gè)類負(fù)責(zé)數(shù)據(jù)的發(fā)送和接收。要使用 CSocket 對(duì)象,首先要調(diào)用構(gòu)造函數(shù),然后調(diào)用 Create函數(shù)創(chuàng)建一個(gè) Socket 句柄。 CSocket 函數(shù)缺省是創(chuàng)建一個(gè)流 Socket;如果沒有使用 CArchive 類,那么還可以創(chuàng)建一個(gè)數(shù)據(jù)報(bào) Socket。服務(wù)器端調(diào)用 Accept,客戶端調(diào)用 Connect,然后創(chuàng)建一個(gè) CsocketFile 去關(guān)聯(lián) CSocket。接下來的操作可以創(chuàng)建 CArchive 對(duì)象關(guān)聯(lián) CsocketFile,以用來發(fā)送和接收數(shù)據(jù)。 圖 TCP 套接字的運(yùn)用圖 文字聊天的實(shí)現(xiàn) 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 20 ChatServer 服務(wù)器運(yùn)行時(shí),利用一個(gè) CSocket 對(duì)象 CSocketServer 啟動(dòng)服務(wù)器,用函數(shù) gethostname 來獲得服務(wù)器端主機(jī)名和 IP,同時(shí)在服務(wù)器對(duì)話框中顯示服務(wù)器 IP,并將分配的固定端口號(hào) 8123 顯示在對(duì)話框中。用一個(gè) list列表顯示在線用戶,隨時(shí)更新用戶登錄情況,用一個(gè) edit box 顯示客戶端的聊天內(nèi)容以及系統(tǒng)提示消息。每一個(gè) ChatClient 客戶端啟動(dòng)時(shí),利用服務(wù)器內(nèi)定的用戶號(hào)和密碼來登錄。在整個(gè)系統(tǒng)中,利用鏈表來處理所有的用戶信息:當(dāng)有用戶登錄時(shí),在鏈表尾部加入該用戶信息;當(dāng)用戶下線時(shí),在該鏈表中刪除用戶,并提示所有用戶,該用戶下線。在對(duì)鏈表進(jìn)行操作的同時(shí),要更新 list 列表中的信息。 圖 需要使用指定的用戶名密碼登錄 圖 服務(wù)器運(yùn)行后界面 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 21 當(dāng)用 戶登陸后服務(wù)器顯示了該用戶的登錄,并且記錄了當(dāng)前在線用戶的人數(shù)。 用戶之間兩兩間進(jìn)行文字聊天時(shí),發(fā)送信息的處理函數(shù)如下: void CChatClientDlg::OnChatBtSend() //發(fā)送信息按鍵 { if( !m_bConnect) { SetMessageBox(請(qǐng)連接服務(wù)器 !\r\n)。 return 。 } CString str。 CString szUserName。 CMesg msg。 GetDlgItemText(IDC_MESSAGE,str)。 GetDlgItemText(IDC_USERNAME,szUserName)。 if( () = 0 ) { SetMessageBox(請(qǐng)輸入想要發(fā)送的信息 !\r\n)。 return 。 } if ( () = 0) { SetMessageBox(請(qǐng)選擇說話對(duì)象 !\r\n)。 return 。 } //消息封裝 (Message)。 (szUserName)。 (str)。 m_csClientSendM(amp。msg)。 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 22 AddReceiver(szUserName , true)。 AddChatMessage(str)。 } 下圖為兩個(gè)用戶之間的文字聊天以及服務(wù)器上的顯示 圖 用戶 heteng 對(duì) aaa發(fā)送的文字信息 圖 用戶 aaa接受到 heteng所發(fā)出的文字信息 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 23 圖 服務(wù)器所顯示兩個(gè)用戶之間的文字對(duì)話 語音視頻聊天的實(shí)現(xiàn) 在實(shí)現(xiàn)語音視頻聊天時(shí) ,采用的是基于 UDP 套接字的點(diǎn)對(duì)點(diǎn)模式 ,即用戶與用戶之間的數(shù)據(jù)傳輸。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1