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

正文內(nèi)容

局域網(wǎng)即時(shí)聊天程序的設(shè)計(jì)與實(shí)現(xiàn)—免費(fèi)(專業(yè)版)

2025-02-01 09:35上一頁面

下一頁面
  

【正文】 在這里要確定系統(tǒng)中每個(gè)程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。 4)當(dāng)輸入完聊天信息以后進(jìn)行發(fā)送,當(dāng)發(fā)送沒有結(jié)束時(shí),不能進(jìn)行新的聊天內(nèi)容 的輸入。 可行性分析的目的是為了用最小代價(jià)在最短時(shí)間內(nèi)確定問題是否能夠解決。 VC++對網(wǎng)絡(luò) 編程的支持有 socket 支持, Winl 支持, MAPI 和 ISAPI 支持等。在 Visual C++環(huán)境下,利用Microsoft 的基本類庫 MFC(Microsoft Foundation Class Library),可以使用完全的面向?qū)ο蟮姆椒▉磉M(jìn)行 Windows 95/98/NT 應(yīng)用程序的開發(fā),使得 Windows程序員從大量的復(fù)雜勞動中解救出來,體會到 真正的程序語言的強(qiáng)大功能和良好的靈活性。本次局域網(wǎng)即時(shí)聊天程序設(shè)計(jì)主要用了 Visual C++編程環(huán)境,實(shí)現(xiàn)了在 LAN 中在線用戶的文本、語音交互。 B 每個(gè)調(diào)用模塊是否能調(diào)用每個(gè)自己想要調(diào)用的模塊。 M_bClose=true。 } } } } while (!m_aSessionInIsBufferEmpty())。 } //Socket接收到傳輸過來的數(shù)據(jù)的消息相應(yīng)函數(shù) void CClientSocket::OnReceive(int nErrorCode) { Csocket::OnReceive(nErrorCode)。 ()。 } else { ()。) { CclientSocket * t=(CclientSocket *)(pos)。 (三 ) 聲音數(shù)據(jù)傳輸模塊 聲源采集模塊放到緩沖區(qū)里的語音數(shù)據(jù)經(jīng)過這個(gè)模塊以后到達(dá)音頻再生模塊。 2. 聲源采集模塊:主要功能為負(fù)責(zé)采集客戶端發(fā)出的聲源,把采集到的聲源放到緩沖區(qū)里,為語音傳送建立了基礎(chǔ)。 c. 穩(wěn)定性安全性要求:要求軟件盡可能的穩(wěn)定,對于一般的應(yīng)用系統(tǒng),對安全 性要求不高,對于特殊的應(yīng)用,還需要在安全性方面加以保證,所以要相應(yīng)提高服務(wù)器端的配置。局域網(wǎng)中在線用戶之間的聊天包括文本聊天及語音聊天。當(dāng)然有許多程序員喜歡使用該類甚至 WinSock API,原因是這些方法具有很大的靈活性,給程序員以較大的發(fā)揮空間。使用 Socket 進(jìn)行網(wǎng)絡(luò)通信必須包含下面的幾種信息:雙方認(rèn)可的協(xié)議,本地主機(jī)的 IP 地址,本地進(jìn)程的協(xié)議端口,對方主機(jī)的 IP 地址,對方進(jìn)程的協(xié)議端口。 本次局域網(wǎng)即時(shí)聊天程序設(shè)計(jì)主要用了 Visual C++編程環(huán)境,設(shè)計(jì)里還涉及到了網(wǎng)絡(luò)通信基本原理和 Socket 編程及語音處理 API 技術(shù)。 服務(wù)器端和客戶端是通過建立 Socket 鏈接來實(shí)現(xiàn)聊天功能。 面向?qū)ο蟮某绦蛟O(shè)計(jì)吸取了結(jié)構(gòu)化程序設(shè)計(jì)的精華,它利用了人們根據(jù)對事物分類和抽象的傾向,引入了類和對象的概念,具有封裝性(數(shù)據(jù)抽象)、繼承和多態(tài)的特點(diǎn)。在桌面操作系統(tǒng)進(jìn)入 Windows 時(shí)代后,仍然繼承了 Socket 方法。 2) 經(jīng)濟(jì)可行性:這個(gè)系統(tǒng)開發(fā)開發(fā)成較低,經(jīng)濟(jì)效益會遠(yuǎn)大于開發(fā)成本,可行。 發(fā)送信息是指自己發(fā)送給對方的信息,即發(fā)送內(nèi)容;接收信息是指來自對方的信息,這里顯示接收到的內(nèi)容。 一、 層次圖 根據(jù)本次設(shè)計(jì)需要,把整個(gè)即時(shí)聊天系統(tǒng)分成文本聊天部分和語音聊天部分。最后,當(dāng)用戶斷開連接時(shí),服務(wù)器關(guān)閉與他的連接,并結(jié)束相應(yīng)的線程。 一、 服務(wù)器端對客戶端 Socket的處理代碼 void CChatDlg::ProcessPendingAccept() { CclientSocket* pSocket=new CclientSocket()。 Cstring ip。 SetDlgItemText(IDC_NEWSEND,” 停止語音聊天 ” )。 } void CserverSocket::OnAccept(int nErrorCode) { m_dlgProcessPendingAccept()。 ((Cedit*)(m_dlgGetDlgItem(IDC_SHOWTEXT)))LineScroll(linenum)。 m_aSessionIn=NULL。如果在軟件生產(chǎn)性運(yùn)行之前,沒有發(fā)現(xiàn)并糾正軟件中的大部分差錯(cuò),則這些錯(cuò)誤遲早在生產(chǎn)過程中暴露出來,那時(shí)不僅僅改正這些錯(cuò)誤的代價(jià)更高,而且往往會造成很惡劣的后果。當(dāng)用戶請求語音聊天的時(shí),系統(tǒng)能快速準(zhǔn)確地聯(lián)系到對方并建立語音連接。你可以無所顧慮無所拘束地進(jìn)行聊天,免了文字的虛幻。 Socket 在 Windows 以句柄的形式被創(chuàng)建。另外,由于它對 API 的封裝程度不高,以前在 WinSock API 中需要自己完成的工作(比如:字節(jié)順序的轉(zhuǎn)換),仍然需要自己完成。 (一 ) 系統(tǒng)的功能要求 在線朋友指的是在所有使用本系統(tǒng)在局域網(wǎng)上進(jìn)行信息傳遞的用戶。 b. 存儲性能要求:根據(jù)應(yīng)用中的實(shí)際情況配置適當(dāng)容量的存儲設(shè)備,特別是音頻存儲設(shè)備容量方面要適當(dāng)?shù)门渲谩? 。 8)想結(jié)束語音聊天時(shí),按結(jié)束鍵就能與對方斷開連接,即結(jié)束語音聊天。而且需求分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。因此,使用這兩個(gè)類進(jìn)行 Socket 網(wǎng)絡(luò)程序的編寫會比使用 API 方便一些。 Visual C++還提供了豐富的技術(shù)資源, MSDN(Microsoft Develop Network)提供了強(qiáng)大的聯(lián)機(jī)幫助支持,同時(shí)還可以通過訪問 Microsoft 的網(wǎng)上站點(diǎn)來獲得最新的技術(shù)文檔。尤其現(xiàn)在的學(xué)校更是如此,單單在課堂里或校園里的交流是遠(yuǎn)遠(yuǎn)不夠的,要是學(xué)校有聊天系統(tǒng),那么學(xué)生之間或是師生之間的信息交流會更加頻繁、更方便,有利于建立友好的關(guān)系網(wǎng)。用戶界面友好。因?yàn)樵陂_發(fā)軟件系統(tǒng)的漫長過程中,面對著極其錯(cuò)綜復(fù)雜的問題,人的主觀認(rèn)識不可能完全符合客觀現(xiàn)實(shí),與工程密切相關(guān)的各類人員之間 的通信和配合也不可能完美無缺,因此,在軟件生命周期的各個(gè)階段都不可避免地產(chǎn)生差錯(cuò)。 Return FALSE。m_dlgm_willchating==FALSE) { memcpy(m_dlg,MAX_BUFFER_SIZE)。 } m_dlgSetDlgItemText(IDC_SHOWTEXT,” Server Has Been Set OK!” )。 } } } 四、語音聊天按鈕的消息處理代碼 void CChatDlg::OnNewsend() { //TODO:Add your control notification handler code here if(m_willchating==TRUE //進(jìn)行語音聊天 { (this)。 Cstring name。編程的質(zhì)量直接影響到運(yùn)行結(jié)果,所以要做到遠(yuǎn)程序代碼的邏輯簡明清晰、易讀易懂是程序好壞的一個(gè)重要 標(biāo)準(zhǔn),其中適當(dāng)?shù)淖⒔馐欠浅V匾摹? 系統(tǒng)運(yùn)用共享數(shù)據(jù)結(jié)構(gòu)技術(shù)及多線程技術(shù),通過 I/O 端口與用戶端連接,實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)功能。 在需求分析里也已經(jīng)說明了對于局域網(wǎng)即時(shí)聊天程序的設(shè)計(jì)過程主要由在線朋友文本聊天功能和語音聊天功能。一般聊天內(nèi)容一次不能超過 500 個(gè)字符??尚行苑治龅膶?shí)質(zhì)就是要進(jìn)行一次壓縮簡化系統(tǒng)分析和設(shè)計(jì)的過程 ,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程 。其中 Windows Sockets API 是 TCP/IP 網(wǎng)絡(luò)環(huán)境里,也是 Inter 上進(jìn)行開發(fā) 最為通用的 API。 Visual C++編程是一個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。 在設(shè)計(jì)里涉及到了網(wǎng)絡(luò)通信基本原理和 Socket 編程及語音處理 API 技術(shù)。 服務(wù)器端和客戶端是通過建立Socket 鏈接來實(shí)現(xiàn)聊天功能。數(shù)據(jù) 報(bào)套接字提供了一種不可靠的、非連接的數(shù)據(jù)包通信方式。 CSocket 的網(wǎng)絡(luò)操作是同步方式,即阻塞式的。 下面是文本聊天部分所要完成的功能。在本系統(tǒng)中服務(wù)器端本身也可以是客戶端。 4. 音頻再生模塊;主要功能是接收聲音數(shù)據(jù)傳輸模塊傳送過來的語音數(shù)據(jù)進(jìn)行放音并且釋放內(nèi)存以便于保存采集到的聲源。 N Y N Y [圖 6] 聲音數(shù)據(jù)傳輸模塊流程圖 (四 ) 音頻再生模塊 經(jīng)過處理過的語音數(shù)據(jù)通過音頻處理模塊傳送到這個(gè)模塊,當(dāng)接收到語音數(shù)據(jù)以后它將經(jīng)過錄音的語音數(shù)據(jù)進(jìn)行放音,然后把內(nèi)存釋放出來以備保存其他緩沖區(qū)里保存的聲源信息。msg)。 M_bInit=false。 m_dlg=dlg。 (*m_aSessionIn)。 m_aSessionOutFlush()。 CloseSocket()。 二、 功能測試 (一)測試方法 采用了黑盒測試,即檢查 程序功能是否能要求進(jìn)行,是否適當(dāng)?shù)亟邮軘?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。由于程序是在 TCP/IP 環(huán)境下運(yùn)行,所以分服務(wù)器端和客戶端。同傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法相比,它縮短軟件的研制時(shí)間,提高軟件的開發(fā)效率,使程序員可以更好地理解和管理龐大而復(fù)雜的程序。最早美國加州大學(xué) Berkeley 分校在 UNIX 下為 TCP/IP 協(xié)議開發(fā)了一個(gè) API,這個(gè) API 就是著名的 Berkeley Socket 接口(套接字)。 一、可行性分析 1) 技術(shù)可行性:本系統(tǒng)以 Visual C++為主要編程環(huán)境,再結(jié)合 網(wǎng)絡(luò)通信基 本原理和 Socket 編程及語音處理 API 技術(shù),技術(shù)成熟,可行。 5) 聊天信息要顯示在聊天窗口中,顯示的內(nèi)容包括:發(fā)送信息、接收信息。由于語言聊天是發(fā)送聲音的一端將硬件接口采集到的聲音數(shù)據(jù)通過 Socket 發(fā)送到另外一端,另外一端根據(jù)得到的聲音數(shù)據(jù)調(diào)用硬件接口播放聲音,所以其 核心是聲音數(shù)據(jù)的采集、播放和聲音數(shù)據(jù)的網(wǎng)絡(luò)傳輸。 第三章 總體設(shè)計(jì) 經(jīng)過了需求分析階段的工作,系統(tǒng)必須“做什么”的問題已經(jīng)清楚了,現(xiàn)在是決定“怎么做”的時(shí)候了。 2)與特定用戶之間的聊天窗口中必須提供聊天信息的輸入和聊天信息的顯示功能。在阻塞任務(wù)執(zhí)行過程中, Windows 線程的消息循環(huán)仍然有效,也就是說 CSocket類的阻塞操作不影響 Windows 的消息循環(huán)。流式套接字可以將數(shù)據(jù)按順序無重復(fù)地發(fā)送到目的地,它提供的是一種可靠的、面向連接的數(shù)據(jù)傳輸方式。 二、相關(guān)知識 (三) Visual C++ 簡介 Visual C++是一個(gè)功能強(qiáng)大的可視化應(yīng) 用程序開發(fā)工具,用于 Windows 環(huán)境下 32 位的應(yīng)用程序的開發(fā),是計(jì)算機(jī)界公認(rèn)的最優(yōu)秀的應(yīng)用開發(fā)工具之一。 在設(shè)計(jì)過程中,對于我來說,由于很多都是新知識,這就迫使我到處查閱相關(guān)資料,學(xué)習(xí)新知識,不僅體會到 Visual C++編程環(huán)境的強(qiáng)大功能,也對新接觸到的 Socket 編程和語言處理 API 有了大概的了解。 (二)測試過程 檢驗(yàn)?zāi)K之間的接口。 } Close()。 If(tm_hSocket!=thism_hSocket)//不是本地 socket { tSendMessage(amp。 m_bClose=false。 SetDlgItemText(IDC_NEWSEND,” 語音聊天 ” )。 SetDlgItemText(IDC_SHOWTEXT,” Client Connection Succeed” )。 For(pos=()。 N Y N Y [圖 4] 服務(wù)器
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1