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

正文內(nèi)容

局域網(wǎng)即時(shí)聊天程序的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)-wenkub

2022-12-10 10:57:17 本頁(yè)面
 

【正文】 二、客戶端連接到服務(wù)器端時(shí)消息處理代碼 void CChatDlg::OnConnecserver() { //TODO:Add your control notification handler code here if(!m_bInit) { BYTE f0,f1,f2,f3。msg)。 For(pos=()。 If ((*pSocket)) { Cmessg msg。 開始 接收傳送過來(lái)的語(yǔ)音數(shù)據(jù) 進(jìn)行放音 釋放內(nèi)存到緩沖區(qū) END 第五章 關(guān)鍵代碼分析 經(jīng)過總體分析和詳細(xì)分析,整個(gè)設(shè)計(jì)有了大概的框圖之后就可以進(jìn)行編程了。 N Y N Y [圖 6] 聲音數(shù)據(jù)傳輸模塊流程圖 (四 ) 音頻再生模塊 經(jīng)過處理過的語(yǔ)音數(shù)據(jù)通過音頻處理模塊傳送到這個(gè)模塊,當(dāng)接收到語(yǔ)音數(shù)據(jù)以后它將經(jīng)過錄音的語(yǔ)音數(shù)據(jù)進(jìn)行放音,然后把內(nèi)存釋放出來(lái)以備保存其他緩沖區(qū)里保存的聲源信息。 N Y N Y [圖 4] 服務(wù)器端的 Socket建立和連接 [圖 5] 客戶端的 Socket建 立和連接 (二 ) 聲源采集模塊 用戶按語(yǔ)音聊天開始鍵以后,就開始音頻聊天,要進(jìn)行語(yǔ)音數(shù)據(jù)傳送,就得有聲源采集模塊。 在開始進(jìn) 行聊天通信前得先把系統(tǒng)初始化, 系統(tǒng)的初始化過程為: N Y [圖 3] 系統(tǒng)初始化流程圖 當(dāng)系統(tǒng)完成初始化過程以后就可以進(jìn)行具體聊天通信了(即文本交互和語(yǔ)音交互)。 第四章 詳細(xì)設(shè)計(jì) 詳細(xì)設(shè)計(jì)階段的根本任務(wù)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書寫的程序。 4. 音頻再生模塊;主要功能是接收聲音數(shù)據(jù)傳輸模塊傳送過來(lái)的語(yǔ)音數(shù)據(jù)進(jìn)行放音并且釋放內(nèi)存以便于保存采集到的聲源。 1. 通信模塊:主要功能是接收并連接服務(wù)器端和客戶端接口,負(fù)責(zé)作為服務(wù)器 時(shí)的網(wǎng)絡(luò)端口監(jiān)聽,并且為客戶端接口的發(fā)送數(shù)據(jù)和接收數(shù)據(jù)進(jìn)行消息處理。 文本聊天部分主要由文字輸入及發(fā)送、聊天記錄保存、接收文字信息等三個(gè)模塊分成。在這里要確定系統(tǒng)中每個(gè)程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。在本系統(tǒng)中服務(wù)器端本身也可以是客戶端。 (二 ) 系統(tǒng)性能要求 a.. 時(shí)間性能要求:在實(shí)際應(yīng)用中由于客戶端的大量頻繁的訪問,服務(wù)器響應(yīng)時(shí)間 應(yīng)該盡可能縮短,對(duì)于有特殊需求的應(yīng)用,還要求達(dá)到實(shí)時(shí)響應(yīng)。 以下是語(yǔ)音聊天部分要完成的功能。 4)當(dāng)輸入完聊天信息以后進(jìn)行發(fā)送,當(dāng)發(fā)送沒有結(jié)束時(shí),不能進(jìn)行新的聊天內(nèi)容 的輸入。 下面是文本聊天部分所要完成的功能。因此,必須用行之有效的方法對(duì)軟件需求進(jìn)行嚴(yán)格的審查驗(yàn)證,為下一步的總體設(shè)計(jì)打好基礎(chǔ)。 3) 操作可行性:系統(tǒng)硬件為 PC 機(jī),軟件為 Windows NT/2020,而且編程環(huán)境 Visual C++為專業(yè)程序員使用工具,比較易于使用,可行。 可行性分析的目的是為了用最小代價(jià)在最短時(shí)間內(nèi)確定問題是否能夠解決。 CSocket 的網(wǎng)絡(luò)操作是同步方式,即阻塞式的。 MFC 中 Socket 相關(guān)類的繼承關(guān)系如下圖: [圖 1] MFC 中 Socket 相關(guān)類的繼承關(guān)系 CAsyncSocket 對(duì) WinSock API 進(jìn)行了較低程度的封裝,缺省情況下建立的Socket 是異步操作方式,即非阻塞的,因此一些阻塞操作,需要自己動(dòng)手完成。從表一可以看出,主要的 WinSock API 函數(shù)有哪些。 VC++對(duì)網(wǎng)絡(luò) 編程的支持有 socket 支持, Winl 支持, MAPI 和 ISAPI 支持等。數(shù)據(jù) 報(bào)套接字提供了一種不可靠的、非連接的數(shù)據(jù)包通信方式。 (二) Socket 及 Window Socket API 簡(jiǎn)介 套接字( Socket)是一種雙向的通信接口,可以通過這個(gè)端口與任何一個(gè)具有 Socket 端口的計(jì)算機(jī)通信,套接字是網(wǎng)絡(luò)通信的基礎(chǔ)。與結(jié)構(gòu)化程序設(shè)計(jì)不同的是,面向?qū)ο蟪绦蛟O(shè)計(jì)是用類抽象代表現(xiàn)實(shí)的實(shí)體,用類之間的繼承關(guān)系表示程序設(shè)計(jì)的抽象過程。在 Visual C++環(huán)境下,利用Microsoft 的基本類庫(kù) MFC(Microsoft Foundation Class Library),可以使用完全的面向?qū)ο蟮姆椒▉?lái)進(jìn)行 Windows 95/98/NT 應(yīng)用程序的開發(fā),使得 Windows程序員從大量的復(fù)雜勞動(dòng)中解救出來(lái),體會(huì)到 真正的程序語(yǔ)言的強(qiáng)大功能和良好的靈活性。 服務(wù)器端和客戶端是通過建立Socket 鏈接來(lái)實(shí)現(xiàn)聊天功能。 這次設(shè)計(jì)不僅能實(shí)現(xiàn)文本聊天,還能進(jìn)行語(yǔ)音聊天,語(yǔ)音聊天是一種最先進(jìn)的聊天方式,您只要擁有一只麥克風(fēng)就完全能夠加入進(jìn) 來(lái)。 本次設(shè)計(jì)主要著重于語(yǔ)音聊天 部分,在本次論文里主要以語(yǔ)音聊天的流程和各模塊之間的關(guān)系及 Socket 處理為主說(shuō)明。本次局域網(wǎng)即時(shí)聊天程序設(shè)計(jì)主要用了 Visual C++編程環(huán)境,實(shí)現(xiàn)了在 LAN 中在線用戶的文本、語(yǔ)音交互。 在設(shè)計(jì)里涉及到了網(wǎng)絡(luò)通信基本原理和 Socket 編程及語(yǔ)音處理 API 技術(shù)。 關(guān)鍵詞 : Visual C++編程環(huán)境 網(wǎng)絡(luò)通信基本原理 Socket 編程 語(yǔ)言處理 API Abstract The local area work chats immediately through carries on the text to chat with the pronunciation chats realizes each other munication, the exchange information. This local area work chatted the programming mainly to use Visual immediately the C++ programming environment, has realized in LAN the online user39。你可以無(wú)所顧慮無(wú)所拘束地進(jìn)行聊天,免了文字的虛幻。 本次設(shè)計(jì)主要著重于語(yǔ)音聊天部分,在本次論文里主要以語(yǔ)音聊天的流程和各模塊之間的關(guān)系及 Socket 處理為主說(shuō)明。 Visual C++編程是一個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。函數(shù)只是對(duì)數(shù)據(jù)的操作,沒有數(shù)據(jù)的概 念,而類是數(shù)據(jù)和數(shù)據(jù)操作的集合,由于面向?qū)ο蟮某绦蛟O(shè)計(jì)方法非常近現(xiàn)實(shí),所以越來(lái)越流行。 Socket 在 Windows 以句柄的形式被創(chuàng)建。 2] 流式套接字( Stream Sockets) —— 流式套接字使用傳輸控制協(xié)議( TCP)。其中 Windows Sockets API 是 TCP/IP 網(wǎng)絡(luò)環(huán)境里,也是 Inter 上進(jìn)行開發(fā) 最為通用的 API。 [表 1] WinSock API 函數(shù) 函數(shù) 功能 WSAStartup() 連結(jié)應(yīng)用程序與 Windows Sockets DLL 的第一個(gè)函數(shù) WSACleanup() 結(jié)束 Windows Sockets DLL 的使用 socket() 建立 Socket closesocket() 關(guān)閉某一 Socket bind() 將一本地地址與一個(gè) SOCKET 描述字連接在一起 listen() 設(shè)定 Socket 為監(jiān)聽狀態(tài),準(zhǔn)備被連接 accept() 接受某一 Socket 的連接要求,以完成面向連接的客戶端 Socket 的連接請(qǐng)求。另外,由于它對(duì) API 的封裝程度不高,以前在 WinSock API 中需要自己完成的工作(比如:字節(jié)順序的轉(zhuǎn)換),仍然需要自己完成。 CSocket建立的 Socket不是阻塞的,而是對(duì)非阻塞的 Socket進(jìn)行處理后實(shí)現(xiàn)的阻塞操作。可行性分析的實(shí)質(zhì)就是要進(jìn)行一次壓縮簡(jiǎn)化系統(tǒng)分析和設(shè)計(jì)的過程 ,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程 。 二、 需求分析 需求分析的基本任務(wù)是準(zhǔn)確的回答“系統(tǒng)必須做什么?”這個(gè)問題。 (一 ) 系統(tǒng)的功能要求 在線朋友指的是在所有使用本系統(tǒng)在局域網(wǎng)上進(jìn)行信息傳遞的用戶。 1)在這個(gè)系統(tǒng)中只要在線就可以和所有使用此系統(tǒng)的已經(jīng)在線的朋友進(jìn)行聊天, 并且為不同的朋友提供不同的聊天窗口,也就是說(shuō)和 10 個(gè)在線人員聊天的話就得有 10個(gè)聊天窗口打開。一般聊天內(nèi)容一次不能超過 500 個(gè)字符。 6)在聊天窗口以建立的基礎(chǔ)上,建立與服務(wù)器端的連接。 b. 存儲(chǔ)性能要求:根據(jù)應(yīng)用中的實(shí)際情況配置適當(dāng)容量的存儲(chǔ)設(shè)備,特別是音頻存儲(chǔ)設(shè)備容量方面要適當(dāng)?shù)门渲谩? 客戶端 : 多個(gè) PC 機(jī),通信用,作為文字及音頻數(shù)據(jù)發(fā)生端。 在需求分析里也已經(jīng)說(shuō)明了對(duì)于局域網(wǎng)即時(shí)聊天程序的設(shè)計(jì)過程主要由在線朋友文本聊天功能和語(yǔ)音聊天功能。語(yǔ)音聊天部分則由四個(gè)模塊分成。為文本發(fā)送與接收及語(yǔ)音交互奠定了基礎(chǔ)。這模塊為接收方的客戶端提供了音頻數(shù)據(jù),使語(yǔ)音交互順利進(jìn)行。 系統(tǒng)運(yùn)用共享數(shù)據(jù)結(jié)構(gòu)技術(shù)及多線程技術(shù),通過 I/O 端口與用戶端連接,實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)功能。 啟動(dòng)狀態(tài) 系統(tǒng)運(yùn)行 標(biāo)記系統(tǒng)已經(jīng)運(yùn)行 準(zhǔn)備 Winsock/COM 環(huán)境 載系統(tǒng)配置文 創(chuàng)建主窗口 就緒狀態(tài) 加載用戶配置信息 用戶上線信息 在線狀態(tài) 設(shè)置用戶在線 狀態(tài)定時(shí)器 啟動(dòng)聊天接收服務(wù) 開始 結(jié)束 一、各個(gè)模塊的具體流程 當(dāng)用戶登陸到系統(tǒng)后會(huì)出現(xiàn)一個(gè)聊天窗口,建立服務(wù)器端和客戶端連接以后就可以開始進(jìn)行文本聊天了,用戶把聊天內(nèi)容輸入到聊天信息輸入框以后發(fā)送聊天內(nèi)容,這時(shí)系統(tǒng)會(huì)自動(dòng)把聊天內(nèi)容保存起來(lái)并顯示在聊天記錄窗口中,聊天記錄包括發(fā)送和接收的聊天信息。聲源采集模塊的主要流程為采集到聲源以后把語(yǔ)音數(shù)據(jù)放到緩服務(wù)器端初始化 客戶端建立 Socket 創(chuàng)建 Socket 數(shù)組 并與本地端口綁定 是否創(chuàng)建成功 客戶端連接請(qǐng)求監(jiān)聽 請(qǐng)求與服務(wù)器端 的連接 有無(wú)請(qǐng)求 開始 建立服務(wù)器端與客戶端的 Socket 連接 建立服務(wù)器端與客戶端的 Socket 連接 END 開始 END 沖區(qū)里。 為什么要釋放內(nèi)存呢?那是因?yàn)?聲音數(shù)據(jù)具有很強(qiáng)的前后相關(guān)性,數(shù)據(jù)量大、實(shí)時(shí)性強(qiáng),又由于聲音是連續(xù)的,通常把其稱之為連續(xù)型時(shí)基媒體類型 。編程的質(zhì)量直接影響到運(yùn)行結(jié)果,所以要做到遠(yuǎn)程序代碼的邏輯簡(jiǎn)明清晰、易讀易懂是程序好壞的一個(gè)重要 標(biāo)準(zhǔn),其中適當(dāng)?shù)淖⒔馐欠浅V匾摹? =“一個(gè)游客進(jìn)入聊天室了 ”。pos!=NULL。 } pSocketInit(this)。 Cstring name。 M_bClient=true。 M_bInit=true。 } } } 三、 設(shè)置服務(wù)器端的消息處理
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1