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-27 16:01上一頁面

下一頁面
  

【正文】 中的 wParam 的值。 一個(gè) Windows 程序分為程序代碼和 UI(User Interface 用戶 界面 )資源兩大部分,兩部分最后以 RC 編譯程序編譯為一個(gè)完整的 EXE 文件。首先用鼠標(biāo)左鍵單擊在線好友的頭像,選擇 “傳遞語音 ”命令,然后就會(huì)彈出一個(gè)對(duì)話框,錄音以后就可以發(fā)送了。 IM 軟件的歷史并不久遠(yuǎn),但是它 的出現(xiàn) ,就立即受到 大家 的喜愛,并風(fēng)靡全球。作為 Windows XP 的一部分, Messenger 整合了操作系統(tǒng)的許多功能, 體現(xiàn)出了微軟的真正實(shí)力所在, 如多種形式的聊天選擇、多人的單窗口討論式交流以及充分的文件與桌面共享功能等。 所有上述軟件都實(shí)現(xiàn)了網(wǎng)絡(luò)即時(shí)的 文字, 視頻語音聊天功能。 3. 注冊(cè)窗口 RegisterClass()完成注冊(cè)窗口類的功能,設(shè)定窗口的屬性:邊框、顏色、標(biāo) 題、位置等等。 通常包含了一系列與 “TCP (傳輸控制協(xié)議) ” 和 “IP(網(wǎng)際協(xié)議) ” 有聯(lián)系的 網(wǎng)絡(luò)協(xié)議 ,它包括其它的協(xié)議,應(yīng)用軟件,甚至網(wǎng)絡(luò)媒介。這種直接訪問并不意味著類可以完全取代 API??梢允褂?CWnd 派生出來的一個(gè)類,也可以從其中派生出自己的類。工作者線程沒有收發(fā)消息的功能:例如,在電子表格應(yīng)用程 序中進(jìn)行后臺(tái)計(jì)算的線程。 與調(diào)用 AfxBeginThread 相反,你可以構(gòu)造一個(gè) CWinThread 派生類的對(duì)象,然后調(diào)用 CreateThread。 對(duì)于使用沒有視頻疊加能力的捕獲卡的 PC 機(jī)來說,用 MCI 提供的命令集是無法捕獲視頻流的。 令人高興的是,發(fā)送 AVICap 窗口消息所能完成的功能都能調(diào)用相應(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)。 CSocket 函數(shù)缺省是創(chuàng)建一個(gè)流 Socket;如果沒有使用 CArchive 類,那么還可以創(chuàng)建一個(gè)數(shù)據(jù)報(bào) Socket。 if( () = 0 ) { SetMessageBox(請(qǐng)輸入想要發(fā)送的信息 !\r\n)。 4. 視頻捕捉設(shè)置: VFW 下視頻捕捉參數(shù)的設(shè)置可以通過調(diào)用函數(shù)或彈出對(duì)話框的形式來實(shí)現(xiàn)。CapParms,sizeof(CapParms))。 return ret。 BOOL ret = TRUE, ret1 = TRUE, ret2 = TRUE, ret3 = TRUE。 m_capwnd=NULL。 i MAXRECBUFFER 。 return FALSE。 視音頻的傳輸 視頻采集采用 AVICap 從視頻采集卡捕獲視頻圖像,得到的是位圖 形 式的視頻幀,然后用 Divx 編碼器進(jìn)行壓縮,壓縮以后形成以幀為格式的 Mpeg4 流。 對(duì)于其它的功能,如文件傳輸、多人聊天等 ,可以在此基礎(chǔ)上進(jìn)行改進(jìn),使其更具有良好的實(shí)用性。 在編寫程序的過程中,我也遇到了很多的問題。 [4] Microsoft公司 , MSDN Library for Visual Studio 2020 , 2020年。 [15] 陳堅(jiān),陳偉,編著《 Visual C++ 網(wǎng)絡(luò)高級(jí)編程 [M]》 ,北京:人民郵電出版社, 2020 年。感謝的是我的指導(dǎo)老師楊老師,沒有他耐心的督促和和細(xì)致的指導(dǎo),我也不可能很好的完成這次畢業(yè)設(shè)計(jì),我再次衷心地對(duì)楊老師表示感謝。 3. 界面的改進(jìn)。 測(cè)試結(jié)果分析 此程序分別在 Windows XP 和 Windows 7 下運(yùn)行過,由于 Visual C++ 在Windows 7 里并不兼容,所以在 Windows 7 運(yùn)行時(shí),他會(huì)提示與系統(tǒng)不兼容等提示。delete p。 WAVEHDR *lpHdr=new WAVEHDR。m_hRecord, WAVE_MAPPER, amp。 ret2 amp。而捕獲窗口尺寸的改變并不影響實(shí)際的捕獲視頻流的尺寸。 =IMAGE_HEIGHT。 捕獲的時(shí)間限制,用 CAPTUREPARAMS 結(jié)構(gòu)中的 fLimitEnabled 表示捕獲是否有時(shí)間的限制, wTimeLimit 用來設(shè)置指示捕獲最大的持續(xù)時(shí)間,其單位為秒。其套接字的使用如下圖。 CString szUserName。 TCP套接字的使用如下圖。 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 13 第三章 系統(tǒng)功能分析 系統(tǒng)功能模塊圖 圖 系統(tǒng)功能模塊圖 文字聊天 文字聊天采用的是 TCP 模式,包括服務(wù)器端( server) 和客戶端 (client)。 比如 , 將宏capCaptureSequenceNoFile 同用 capSetCallbackOnVideoStream 登記的回調(diào)函數(shù)一起使用 , 可使應(yīng)用程序直接使用視頻和音頻數(shù)據(jù) 。 特別是它提供了功能強(qiáng)大、簡(jiǎn)單易行、類似于 MCIWnd的窗口類 AVICap。如果你需要用戶界面線程,則將指向你的 CWinThread 派生類的CRuntimeClass 的指針傳遞給 AfxBeginThread。 CWinThread 對(duì)象代表在一個(gè)應(yīng)用程序內(nèi)運(yùn)行的線程。 3. 窗口、對(duì)話 和控件類 類 CWnd 和它的派生類封裝了 HWND,它是一個(gè) Windows 窗口。 MFC 的消息映射機(jī)制也避免了使用性能較低的龐大虛函數(shù)表。 TCP/IP 協(xié)議及 WINDOWS SOCKETS 網(wǎng)絡(luò)編程接口 TCP/IP 協(xié)議 簡(jiǎn)介 TCP/IP 已成為當(dāng)今計(jì)算機(jī)網(wǎng)絡(luò)最成熟、應(yīng)用最廣的互聯(lián)協(xié)議。程序員必須在一個(gè)所謂的資源描述檔( .rc )中描述它們。 本設(shè)計(jì)開發(fā)采用 C/S 結(jié)構(gòu), 即客戶機(jī)與服務(wù)器結(jié)構(gòu), 在 ,使用 C++編程語言進(jìn)行本軟件的開發(fā)。直到現(xiàn)在, ICQ已經(jīng)推出了它的 2020a 版本,在全球即時(shí)通訊市場(chǎng)上占有非常重要的地位。 目前,國(guó)內(nèi)最為流行的即時(shí)通訊軟件是 OICQ(簡(jiǎn)稱 )。 在本文中 ,將討論一種基于 MFC Socket 的局域網(wǎng)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。 RC 編譯器( )讀取 RC 文件的描述后將所有 UI資源文件集中制作出一個(gè) .Res 資源 文件,再與程序代碼結(jié)合在一起,這才是一個(gè)完整的 Windows 可執(zhí)行文件。 Inter采用的就是 TCP/IP 協(xié)議,網(wǎng)絡(luò)上各種各樣的計(jì)算機(jī)上只要安裝了 TCP/IP協(xié)議,它們之間就能相互通信。 MFC在整個(gè) Windows家族中都是兼容的 。 CWnd 可被自己使用,也可以作為派生新類的基類。運(yùn)行的主線程通常由CWinApp 的派生類提供; CWinApp 由 CWinThread 派生。如果你需要?jiǎng)?chuàng)建工作者線程,則將指向控制函數(shù)的指針和控制函數(shù)的參數(shù)傳遞給 AfxBeginThread。 AVICap為應(yīng)用程序提供了一個(gè)簡(jiǎn)單的、基于消息的接口,使之能訪問視頻和波形音頻硬件,并能在將視頻流捕獲到硬盤上的過程中進(jìn) 行控制。 在視頻 聊天 的應(yīng)用程序中可利用這一點(diǎn)來獲得視頻幀 , 回調(diào)函數(shù)將捕獲的圖像傳到遠(yuǎn)端的計(jì)算機(jī)。 首先啟動(dòng)服務(wù)器端,客戶端通過用戶名和密碼登錄服務(wù)器,服務(wù)器響應(yīng)客戶端登錄并提示有用戶登錄,此時(shí)兩個(gè)用戶就可以進(jìn)行文字聊天,在文字聊天時(shí)信息通過服務(wù)器中轉(zhuǎn),而每個(gè)用戶可以同時(shí)與多個(gè)用戶進(jìn)行文字聊天。創(chuàng)建 CSocket 對(duì)象 CSocketServer 來處理服務(wù)器端與客戶端的連接, CSocket 繼承于 CasyncSocket,是 Windows Socket API 的高層抽象。 CMesg msg。 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 24 圖 語音視頻聊天套接字圖 視頻的捕捉 利用 VFW接口,視頻捕獲可以分為以下幾個(gè)步驟: 1. 建立視頻采集窗口:該窗口用來接收視頻捕捉驅(qū)動(dòng)程序傳來的數(shù)據(jù)和消息。使用 capCaptureGetSetup 宏來得到當(dāng)前的設(shè)置值。 BOOL ret=capSetVideoFormat(m_capwnd,amp。該尺寸由視頻捕獲設(shè)備的格式和視頻對(duì)話框決定。amp。m_WaveFormatEx,::GetCurrentThreadId(),0, CALLBACK_THREAD)。 if(!lpHdr) return FALSE。 return mmResult。在 Windows 7 下測(cè)試視頻聊天的時(shí)候,當(dāng) A客戶端向 B 客戶端發(fā)送視頻請(qǐng)求后, B客戶端接受請(qǐng)求,有可能會(huì)發(fā)生 B客戶端窗口 壞死,這是由于 Visual C++與 Windows 7 不兼容導(dǎo)致的,如果 B客戶端在接受請(qǐng)求后,窗口并未壞死,那么在視頻的時(shí)候,只能看見本地視頻的窗口,看不見 A客戶端的視頻窗口,這也是由于 Visual C++ 與 Windows 7 不兼容導(dǎo)致的。 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 35 畢業(yè)設(shè)計(jì)體會(huì) 系統(tǒng)開發(fā)過程是痛苦的,從開發(fā)環(huán)境的配置,到程序的測(cè)試,各種莫名其妙的問題一個(gè)接一個(gè),整天都被異常與錯(cuò)誤困擾。 最后,想在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝! 局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì) 37 參考文獻(xiàn) [1] 侯俊杰 編著 《 深入淺出 MFC(第二版)》 ,湖北 :華中科技大學(xué)出版社 , 2020 年, P15。 [16] 吳志軍,《 Visual C++視頻 會(huì)議開發(fā)技術(shù)與實(shí)例 [M]》 ,北京:人民郵電出版社, 2020年。 [3] 黃強(qiáng) 編 著 《 WINDOWS網(wǎng)絡(luò)編程 》,北京: 人民郵電出版社 , 2020年 ,P12。但 最后通過自己查找資料,以及向同學(xué)和指導(dǎo)老師咨詢,使這些出現(xiàn)的問題一一得到解決,隨著系統(tǒng)的逐步完善,我的編程經(jīng)驗(yàn)在增長(zhǎng),能力也在提升。 綜上所訴,該設(shè)計(jì)的功能可以正常使用,無異常現(xiàn)象出現(xiàn),但是有一定的局限性,比如說在 Windows 7 環(huán)境下使用該程序。 return MMSYSERR_NOERROR。 if(!p) {delete lpHdr。 if(mmReturn==MMSYSERR_NOERROR ) { for(int i=0。 // (\n Unable to connect driver to the window)。 int index=0。 // (\n Video parameters set properly)。 capCaptureGetSetup(m_capwnd,amp。 3. 視頻捕獲初始化。 GetDlgItemText(IDC_USERNAME,szUserName)。要使用 CSocket 對(duì)象,首先要調(diào)用構(gòu)造函數(shù),然后調(diào)用 Create函數(shù)創(chuàng)建一個(gè) Socket 句柄。 文字聊天流程圖如圖 。 視頻捕獲編程也要用到涉及視頻捕獲的結(jié)構(gòu)、宏、消息和函數(shù)。雖然MCI也提供數(shù)字視頻服務(wù),比如 , 它為顯示 AVI文件的視頻提供了 AVIVideo 命令集,為視頻疊加提供了 overlay 命令集,但這些命令主要是基于文件的操作,不能滿足實(shí)時(shí)地直接從視頻緩存中 獲 取數(shù)據(jù)的要求 。 AfxBeginThread線程將返回指向新的 CWinThread對(duì)象的指針。 CWinThread 支持兩種線程類型:工作者線程和用戶界面線程。 CWnd 是所有窗口的基類。而且,可以將直接調(diào)用 Windows AP
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1