版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 多功能聊天軟件的設(shè)計與開發(fā)</p><p> ——音頻/視頻聊天模塊</p><p> 論文作者姓名:</p><p> 申請學(xué)位專業(yè):</p><p> 申請學(xué)位類別:</p><p> 指導(dǎo)教師姓名(職稱):</p><p> 論文提交日期:</p>&
2、lt;p> 多功能聊天軟件的設(shè)計與開發(fā)</p><p> ——音頻/視頻聊天模塊</p><p><b> 摘 要</b></p><p> 隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,基于網(wǎng)絡(luò)的即時通信給人們帶來諸多便利,也成為當(dāng)今網(wǎng)絡(luò)應(yīng)用的主流。聊天工具作為當(dāng)今使用最為廣泛的即時通信工具之一,可以方便人們隨時隨地進行在線交流,比如騰訊公司的Q
3、Q聊天軟件。本畢業(yè)設(shè)計就是模擬QQ聊天軟件,開發(fā)一個包括文字聊天、文件傳輸、語音及視頻交流等功能的聊天軟件。</p><p> 本設(shè)計的開發(fā)采用C/S結(jié)構(gòu),在基于.NET開發(fā)環(huán)境下,使用C#編程語言進行本軟件的開發(fā)。本文首先論述國內(nèi)外聊天工具的發(fā)展情況和現(xiàn)今的發(fā)展方向,并對開發(fā)環(huán)境和開發(fā)語言進行了簡單介紹;對本設(shè)計所要開發(fā)的多功能聊天軟件作了較為詳細的需求分析,并給出了多功能聊天軟件的設(shè)計方案,主要功能包括文字
4、聊天、文件傳輸、語音聊天及視頻聊天等;本畢業(yè)設(shè)計主要實現(xiàn)的是多功能聊天軟件的部分功能,即語音聊天、視頻聊天等功能,主要實現(xiàn)用戶注冊、用戶登錄、用戶之間語音、視頻聊天功能;與另一位同學(xué)開發(fā)實現(xiàn)的文字聊天與文件傳輸模塊集成在一起,構(gòu)成一個實用的、功能完善的聊天軟件,達到預(yù)期目標;通過運行、測試與分析說明,該多功能聊天軟件運行穩(wěn)定、可靠,具有一定的實用價值。</p><p> 關(guān)鍵詞:聊天軟件;視頻聊天;語音聊天;C
5、/S結(jié)構(gòu);QQ聊天軟件</p><p> Design and Development of the Multi-function Chat Software——Audio/Video Chat Module</p><p><b> Abstract</b></p><p> With the rapid development of
6、Internet technology, the instant messenger based on network brings many conveniences to the people, also becomes the focus of network application in present. Chat is one of the most widespread instant messengers, may fac
7、ilitate the people to carry on the online information exchange at anytime and anywhere, such as the QQ chat software of Tencent Company. This graduation project simulates QQ chat software, develops chat software, which i
8、ncludes the writing, file tran</p><p> This design development uses the C/S structure, uses the C# programming language to carry on developing this software based on .NET environment. This paper first elabo
9、rates the development situation of domestic and foreign chats tool and the development direction nowadays, and has carried on the simple introduction to the development environment and the development language. The deman
10、d of multi-function chat software is analyzed in detail, and its plan is provided. It’s main functions include th</p><p> Key words: Chat Software; Video Chat; Audio Chat; C/S Structure; QQ Chat Software<
11、;/p><p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p> 1.1 課題背景1</p><p> 1.2 國內(nèi)外主要聊天工具的發(fā)展狀況1</p><p> 1.3 本課題研究的意義2</p><
12、;p> 1.4 本文的主要工作3</p><p> 2 需求分析及開發(fā)工具3</p><p> 2.1 需求分析3</p><p> 2.2 開發(fā)工具4</p><p> 2.2.1 C#語言的介紹4</p><p> 2.2.2 C/S結(jié)構(gòu)的介紹5</p><p&g
13、t; 2.2.3 開發(fā)環(huán)境6</p><p> 2.2.4 SQL Server 2000數(shù)據(jù)庫介紹7</p><p> 3 多功能聊天軟件的設(shè)計方案8</p><p> 3.1 聊天系統(tǒng)流程的分析與設(shè)計8</p><p> 3.2 注冊模塊的分析與設(shè)計9</p><p> 3.3 登錄模塊的分
14、析與設(shè)計9</p><p> 4 語音、視頻聊天模塊的具體實現(xiàn)10</p><p> 4.1 Video for Windows簡介10</p><p> 4.2 G729.dll的簡介10</p><p> 4.3 LanMsgLibrary.dll的簡介11</p><p> 4.4 語音、視
15、頻聊天的模塊設(shè)計思想11</p><p> 4.5 視頻聊天與語音聊天模塊功能的具體實現(xiàn)13</p><p> 5 登錄、注冊模塊功能模塊及其它特殊功能模塊實現(xiàn)分析14</p><p> 5.1 登錄模塊功能的具體實現(xiàn)14</p><p> 5.2 注冊模塊功能的具體實現(xiàn)14</p><p> 5
16、.3 頭像閃動功能的具體實現(xiàn)15</p><p> 6 系統(tǒng)的綜合測試與分析16</p><p><b> 結(jié) 論18</b></p><p><b> 參考文獻19</b></p><p><b> 致 謝20</b></p>&
17、lt;p><b> 聲 明21</b></p><p><b> 1 引言</b></p><p><b> 1.1 課題背景</b></p><p> 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,互聯(lián)網(wǎng)應(yīng)用越來越豐富。互聯(lián)網(wǎng)以其獨特的傳播方式吸引了大量用戶,同時也給人們帶來了許多便利,譬如可以借助
18、于網(wǎng)絡(luò)進行相互交流、信息傳遞等。聊天工具作為互聯(lián)網(wǎng)中運用最為廣泛的通信工具之一,它可以讓用戶之間進行即時的交流和信息的傳遞。聊天工具的出現(xiàn)可以說是基于互聯(lián)網(wǎng)通信交流方式的歷史性變革,它已經(jīng)漸漸取代了原來效率低、費用高的如信件、電報的通信方式,以其快速、交互、簡便的方式給用戶的交流提供了簡單、易用的信息平臺,成為現(xiàn)今應(yīng)用最為廣泛的即時通信工具之一。隨著相關(guān)技術(shù)的日益發(fā)展,用戶對功能的需求不斷提高。為了更好地服務(wù)于用戶,聊天工具的功能也在不
19、斷地完善。在未來的網(wǎng)絡(luò)時代中,聊天工具將以即時通信為其基本特點,并與各種網(wǎng)絡(luò)應(yīng)用整合,同時隨著無線網(wǎng)絡(luò)的廣泛應(yīng)用,它將成為未來不可缺少的一種通信軟件。</p><p> 1.2 國內(nèi)外主要聊天工具的發(fā)展狀況</p><p> 中國的大部分網(wǎng)絡(luò)用戶都擁有自己的QQ號碼。騰訊計算機系統(tǒng)有限公司成立于1998年11月。1999年2月,騰訊自主開發(fā)了基于Internet的即時通信網(wǎng)絡(luò)工具——騰
20、訊即時通信Tencent Instant Messenger,簡稱TIM或騰訊QQ。騰訊QQ經(jīng)過三年時間的發(fā)展,到2002年,其用戶群成為中國最大的互聯(lián)網(wǎng)注冊用戶群,注冊用戶達到1億6000萬,其中活躍用戶總數(shù)超過5000萬。自此騰訊QQ成為中國最大的即時通信服務(wù)提供商。騰訊公司是中國最早也是目前中國市場上最大的本土互聯(lián)網(wǎng)即時通信軟件開發(fā)商。公司成立7年多以來,一直以追求卓越的技術(shù)為導(dǎo)向,始終處于穩(wěn)健、高速發(fā)展的狀態(tài)。騰訊QQ超過4.3
21、億的注冊用戶群體現(xiàn)了網(wǎng)絡(luò)用戶對騰訊QQ這一聊天工具的廣泛應(yīng)用。在當(dāng)今市場經(jīng)濟高速發(fā)展的前提下,騰訊QQ也在不斷自我完善,漸漸地演變?yōu)橐粋€人性化、市場化的多功能的聊天工具軟件,它可以給網(wǎng)絡(luò)聊天用戶帶來越來越多的人性化服務(wù):從原來單一的文字聊天過渡到集語音、視頻、文件傳輸?shù)榷喙δ苡谝簧淼牧奶燔浖?lt;/p><p> ICQ和MSN是在國外比較盛行的即時聊天工具,騰訊QQ的開發(fā)對MSN和ICQ都進行了借鑒。ICQ是I
22、 Seek You(我找你)的縮寫,最初是一家以色列公司開發(fā)出來的免費軟件,中文名稱目前可以稱之為“網(wǎng)絡(luò)呼叫器”,它在全球擁有超過4000萬的用戶。事實上這種軟件最主要的功能就是讓用戶知道網(wǎng)絡(luò)上的朋友現(xiàn)在有沒有上線(前提是對方也有安裝ICQ),然后可以互送Messages(消息)交談或是交換檔案等等,比電子郵件更具即時性。正如一位ICQ軟件的最初程序設(shè)計員所說:“當(dāng)你登錄因特網(wǎng)之后,你周圍都是些自己熟悉的人,而且,你還可以和他們分享這種
23、體驗,這的確是一件令人激動的事情?!?lt;/p><p> MSN是微軟推出的聊天軟件,是一套類似ICQ的網(wǎng)上即時通訊軟件,它以最簡單的方式為用戶提供強有力的即時消息支持,同時能使Microsoft Outlook Express(R) 和MSN Hotmail(R)變得更簡單易用。MSN Messenger Service 還可使用戶間的聯(lián)機交談變得更加輕松愉快,了解誰在聯(lián)機以及查看用戶何時聯(lián)機并與其交換即時消息
24、。用戶間可以進行單獨的聊天,或者在同一個對話窗口中與多達四個的聯(lián)系人進行聊天。自動的輸入指示器可讓用戶知道何時聯(lián)系人正在輸入答復(fù),還可以進行全球電話呼叫——以非常低的費用呼叫世界的任何地方。用戶可以選擇所要使用的電話服務(wù)提供商,從服務(wù)提供商的列表中選擇最適合的提供商。用交談取代鍵盤輸入,使用計算機上的話筒和揚聲器就可以和位于世界各地的朋友進行交談,甚至可以呼叫聯(lián)系人將文本消息發(fā)送到聯(lián)系人的移動電話和傳呼機上(注:此特性僅適用于美國和加拿
25、大),而進入“聊天室”結(jié)識新朋友,或加入與名人聊天,此特性在所有地區(qū)都適用。用戶可以使用 MSN Messenger 與朋友交換照片、喜愛的音樂或任何其他文件,也可以監(jiān)視新的電子郵件并查看用戶有多少新的</p><p> 1.3 本課題研究的意義</p><p> 在當(dāng)今信息時代,信息通信已成為這個世紀必不可少的組成部分,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,聊天軟件作為即時性通信工具的主流,已被越來
26、越多的人所喜愛。在中國,上網(wǎng)的用戶幾乎都用騰訊QQ進行聊天。當(dāng)前騰訊QQ的注冊帳戶已經(jīng)超過4.3億,是中國用戶最多、最為流行的聊天工具。起初的QQ只支持文字聊天,隨著相關(guān)技術(shù)的發(fā)展,騰訊QQ也不斷的自我完善,增加眾多實用的、人性化的功能,得到了許多用戶的支持與喜愛?,F(xiàn)如今騰訊公司已經(jīng)初步完成了面向在線生活產(chǎn)業(yè)模式的業(yè)務(wù)布局:構(gòu)建了QQ、QQ.com、QQ游戲以及QQ移動手機門戶這四大網(wǎng)絡(luò)平臺,形成了規(guī)模巨大的網(wǎng)絡(luò)社區(qū)。在滿足用戶信息傳遞
27、與知識獲取需求方面,擁有QQ.Com門戶、QQ即時通訊工具以及年初收購的Foxmail電子郵件等;在滿足用戶群體交流和資源共享方面,騰訊推出的個人博客Q-Zone將與訪問量極大的論壇、聊天室、QQ群相互協(xié)同;在滿足用戶個性展示和娛樂服務(wù)方面,騰訊擁有非常成功的虛擬形象產(chǎn)品QQshow、QQpet(寵物)和QQGame(游戲)QQMusic/Radio/LiveTV(音樂/電臺/電視直播)等,另外對手機用戶提供了彩鈴、彩信等無線增值業(yè)務(wù)&
28、lt;/p><p> 1.4 本文的主要工作</p><p> 隨著用戶對軟件功能的需求不斷提高,即時通訊的產(chǎn)品也不斷地更新?lián)Q代。即時通訊的發(fā)展不論是在基礎(chǔ)應(yīng)用方面還是在擴展應(yīng)用方面都有著飛躍。為了滿足用戶的需求,包括騰訊公司的聊天軟件QQ在內(nèi),許多即時性聊天工具都推出了語音聊天、視頻聊天功能模塊。本文主要對聊天軟件的語音聊天和視頻聊天等相關(guān)功能的實現(xiàn)原理進行了研究。</p>
29、<p> 本文首先對聊天軟件的發(fā)展以及其對人們的生活有何影響作了簡述,并對開發(fā)環(huán)境和工具進行了相應(yīng)說明并對此聊天軟件系統(tǒng)進行了較為詳細的分析;進而提出了該多功能聊天軟件的設(shè)計方案。在本次多功能聊天軟件的設(shè)計與開發(fā)中,本人主要負責(zé)設(shè)計開發(fā)登錄模塊、注冊模塊、語音聊天模塊、視頻聊天模塊,并對此聊天軟件系統(tǒng)的登錄模塊、注冊模塊、語音聊天、視頻聊天模塊的設(shè)計與實現(xiàn)進行了較詳細的說明和分析。</p><p>
30、 2 需求分析及開發(fā)工具</p><p><b> 2.1 需求分析</b></p><p> 此聊天軟件系統(tǒng)是模擬現(xiàn)今國內(nèi)最為流行的即時性通訊工具QQ而設(shè)計的,能夠?qū)崿F(xiàn)注冊、登錄、添加好友、文字聊天、文件傳輸、語音聊天、視頻聊天等功能。該聊天軟件系統(tǒng)是采用C/S結(jié)構(gòu),即客戶端與服務(wù)器端的結(jié)構(gòu)體系?;趯υ摿奶燔浖δ艿姆治觯疚姆謩e對客戶端與服務(wù)器端進行了設(shè)
31、計。</p><p> 該聊天軟件服務(wù)器端的功能是實現(xiàn)對客戶端提交的用戶信息進行處理。服務(wù)器設(shè)計內(nèi)容包含:信息接收、注冊、登錄、刷新、更新、添加好友等?!靶畔⒔邮铡笔翘峁┓?wù)器接受客戶端發(fā)送信息的功能;“注冊”是服務(wù)器端接受到用戶的注冊信息請求后,將請求信息寫入到數(shù)據(jù)庫,為用戶的注冊提了相關(guān)服務(wù);“登錄”是服務(wù)器通過驗證登錄信息來實現(xiàn)相關(guān)的服務(wù);“刷新”是對服務(wù)器的更新數(shù)據(jù)每過一段時間進行一次刷新,來顯示用戶當(dāng)
32、前在服務(wù)器的信息狀況,如在線狀態(tài)等;“更新”是服務(wù)器對用戶在數(shù)據(jù)庫中信息進行相關(guān)的操作;“用戶退出處理”是服務(wù)器在用戶退出聊天系統(tǒng)后作出的相關(guān)處理工作;“好友添加”是服務(wù)器對添加的好友信息進行處理等相關(guān)操作。</p><p> 客戶端即用戶使用的應(yīng)用程序端。用戶通過該聊天軟件的客戶端來實現(xiàn)網(wǎng)上聊天的相關(guān)功能:注冊、登錄、添加好友、文字聊天、文件傳輸、語音聊天、視頻聊天等。注冊功能是提交用戶相關(guān)信息以及獲得一個屬
33、于自己登錄該聊天軟件系統(tǒng)的用戶ID號;登錄功能是實現(xiàn)驗證用戶信息與合法使用該聊天軟件系統(tǒng)的權(quán)限;添加好友是實現(xiàn)用戶之間好友添加的操作;添加好友成功后,就可以與好友之間開始文字聊天、文件傳輸、語音聊天、視頻聊天等功能。 </p><p> (1)該服務(wù)器的運行環(huán)境:</p><p> ?、?操作系統(tǒng):windows2000或windows2003;</p><p>
34、 ?、?內(nèi)存:256M以上(最低為256M);</p><p> ?、?CPU:Intel(R) Celeron(R) 2.0GHz或AMD 1800+以上均可;</p><p> ?、?其它:Microsoft .NET Framework SDK。</p><p> ?。?)客戶端的運行環(huán)境:</p><p> ?、?操作系統(tǒng):windo
35、ws XP或windows2003等;</p><p> ② 內(nèi)存:256M以上(最低為256M);</p><p> ?、?CPU:Intel(R) Celeron(R) 2.0GHz或AMD 1800+以上均可;</p><p> ④ 攝像頭、耳機等外部設(shè)備。 </p><p> 第一次使用系統(tǒng)的用戶通過填寫個人信息來注冊,服務(wù)器返
36、回一個注冊ID號給注冊用戶,用來登錄。已經(jīng)注冊的用戶在登錄界面填寫完相關(guān)登錄信息,通過服務(wù)器的驗證后就可以進入客戶端界面。在線用戶在添加好友時可以查看所要添加用戶的列表信息。當(dāng)對要添加的好友發(fā)送請求添加的信息后,由該好友驗證是否通過請求,同意后會向請求方發(fā)送同意添加的消息。當(dāng)請求方添加完成后,服務(wù)器端會把相關(guān)信息存入到好友表的數(shù)據(jù)庫中。完成以上操作以后,兩人即可進行在線聊天。 </p><p><b>
37、 2.2 開發(fā)工具</b></p><p> 2.2.1 C#語言的介紹</p><p> C#(Csharp)是一種最新的、面向?qū)ο蟮木幊陶Z言,它使得程序員可以快速地編寫各種基于Microsoft .NET平臺的應(yīng)用程序。Microsoft .NET提供了一系列的工具和服務(wù)來最大程度地開發(fā)、利用計算與通訊領(lǐng)域。C#面向?qū)ο蟮淖吭皆O(shè)計使它成為構(gòu)建各類組件的理想之選——無論
38、是高級的商業(yè)對象還是系統(tǒng)級的應(yīng)用程序。使用簡單的C#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為XML 網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語言在任何操作系統(tǒng)上通過Internet進行調(diào)用。最重要的是,C#使得C++程序員可以高效率地開發(fā)程序,而絕不損失C/C++原有的強大功能。因為這種繼承關(guān)系,C#與C/C++具有極大的相似性,熟悉類似語言的開發(fā)者可以很快地轉(zhuǎn)向C#。</p><p> C#語言是允許類型定義、擴展的元數(shù)據(jù),
39、這些元數(shù)據(jù)可以應(yīng)用于任何對象。項目構(gòu)建者可以定義領(lǐng)域特有的屬性并把他們應(yīng)用于任何語言元素類、接口等等。然后,開發(fā)人員可以編程檢查每個元素的屬性。這樣,很多工作都變得更加方便:譬如編寫一個小工具來自動檢查每個類或接口是否被正確定義為某個抽象商業(yè)對象的一部分,或者只是創(chuàng)建一份基于對象的領(lǐng)域特有屬性的報表。定制的元數(shù)據(jù)和程序代碼之間的緊密對應(yīng)有助于加強程序的預(yù)期行為和實際實現(xiàn)的之間的對應(yīng)關(guān)系。</p><p> 在C
40、#中,每個對象都自動生成為一個COM對象。開發(fā)者不再需要顯式的實現(xiàn)IUnknown和其他COM接口.這些功能都是內(nèi)置的、類似的,C#可以調(diào)用現(xiàn)有的COM對象,無論它是由什么語言編寫的。C#包含了一個特殊的功能:使程序可以調(diào)用任何純API。在一段特別標記的代碼中,開發(fā)者可以使用指針和傳統(tǒng)C/C++特性,如手工的內(nèi)存管理和指針運算。這是其相對于其它環(huán)境的極大優(yōu)勢。這意味著C#程序員可以在原有的C/C++代碼的基礎(chǔ)上編寫程序,而不是徹底放棄那
41、些代碼</p><p> 2.2.2 C/S結(jié)構(gòu)的介紹</p><p> C/S(client/server)結(jié)構(gòu),即被廣為熟知和使用的客戶機和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到client端和server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是client/server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向
42、分布式的web應(yīng)用發(fā)展,web和client/server應(yīng)用都可以進行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部用戶和外部用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。傳統(tǒng)的c/s體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是client端還是server端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,c/
43、s結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用。而且代價高,效率低。</p><p> C/S架構(gòu)軟件的優(yōu)勢與劣勢:</p><p> ?。?)應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕。最簡單的c/s體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務(wù)器程序的機器
44、,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶應(yīng)用程序運行在用戶自己的電腦上,對應(yīng)于數(shù)據(jù)庫服務(wù)器,可稱為客戶電腦,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕。</p><p> ?。?)數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客
45、戶應(yīng)用程序分別獨立進行的,前臺應(yīng)用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運行數(shù)據(jù),在服務(wù)器程序中不集中實現(xiàn),例如訪問者的權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆菪 ?,麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在c/s體系的下,數(shù)據(jù)庫不能真正成為
46、公共、專業(yè)化的倉庫,它受到獨立的專門管理。</p><p> (3)c/s架構(gòu)的劣勢是高昂的維護成本且投資大。首先,采用c/s架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn),有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務(wù)器在線運行,網(wǎng)絡(luò)管理工
47、作人員既要對服務(wù)器維護管理,又要對客戶端維護和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護成本很高,維護任務(wù)量大。</p><p> 2.2.3 開發(fā)環(huán)境</p><p> 微軟發(fā)布了.NET開發(fā)平臺,這是自1993年7月隨著Windows NT3.0出現(xiàn)的Win32 API后微軟軟件開發(fā)平臺的第一次大升級。比起Win16來,Win32提供了更多功能強大的API,但沒有對工具和技術(shù)進行
48、引人注目的改變。與之不同的是,.NET開發(fā)平臺在開發(fā)者用以創(chuàng)造應(yīng)用程序的工具和技術(shù)上做了根本的改變。 .NET開發(fā)平臺使得開發(fā)者創(chuàng)建運行在Internet Information Server (IIS)(互聯(lián)網(wǎng)信息服務(wù)器)Web服務(wù)器上的Web應(yīng)用程序更為容易,它也使創(chuàng)建穩(wěn)定、可靠而又安全的Windows桌面應(yīng)用程序更為容易。</p><p> .NET開發(fā)平臺包括以下內(nèi)容:</p><p
49、> ?。?).NET Framework(架構(gòu)),包括:Common Language Runtime(CLR)(通用語言運行環(huán)境),這是用于運行和加載應(yīng)用程序的軟件組件;新的類庫,分級組織了開發(fā)者可以在他們的應(yīng)用程序中用來顯示圖形用戶界面、訪問數(shù)據(jù)庫和文件以及在Web上通信的代碼集。</p><p> (2).NET開發(fā)者工具,包括:Visual Studio .NET Integrated Devel
50、opment Environment(IDE)(Visual Studio .NET集成開發(fā)環(huán)境),用來開發(fā)和測試應(yīng)用程序。</p><p> ?。?).NET編程語言(例如Visual Basic .NET和新的Visual C#),用來創(chuàng)建運行在CLR下并且使用類庫的應(yīng)用程序。</p><p> ?。?)ASP .NET,一個取代以前的Active Server Pages(ASP)的
51、特殊類庫,用來創(chuàng)建動態(tài)的Web內(nèi)容和Web服務(wù)器應(yīng)用程序,這些都將采用諸如HTML、XML和Simple Object Access Protocol(SOAP)(簡單對象訪問協(xié)議)等Internet協(xié)議和數(shù)據(jù)格式。</p><p> .NET開發(fā)平臺是一組用于建立Web服務(wù)器應(yīng)用程序和Windows桌面應(yīng)用程序的軟件組件,用該平臺創(chuàng)建的應(yīng)用程序在Common Language Runtime(CLR)(通用語
52、言運行環(huán)境)(底層)的控制下運行。CLR是一個軟件引擎,用來加載應(yīng)用程序,確認它們可以沒有錯誤地執(zhí)行,進行相應(yīng)的安全許可驗證,執(zhí)行應(yīng)用程序,然后在運行完成后將它們清除。</p><p> 類庫集提供了使應(yīng)用程序可以讀寫XML數(shù)據(jù)、在Internet上通信、訪問數(shù)據(jù)庫等的代碼。所有的類庫都建立在一個基礎(chǔ)的類庫之上,它提供管理使用最為頻繁的數(shù)據(jù)類型(例如數(shù)值或文本字符串)的功能,以及諸如文件輸入/輸出等底層功能。&
53、lt;/p><p> Web服務(wù)器應(yīng)用程序通常依賴于ASP.NET,一個處理Web請求的服務(wù)器端的庫。ASP.NET又依賴一個用于發(fā)送和接收SOAP信息的Web Services庫,以及一個用于以瀏覽器接收用戶輸入并動態(tài)地生成Web頁面以示響應(yīng)的Web用戶接口(UI)(有時稱作Web 表單)。Windows桌面應(yīng)用程序通過使用Win表單庫(也稱作Windows 表單)可以顯示一個圖形UI。</p>&
54、lt;p> 最后,Visual Studio .NET提供了一個用于在該平臺上創(chuàng)建應(yīng)用程序的圖形Integrated Development Ewironment(IDE)(集成開發(fā)環(huán)境)。程序員可以使用一種或多種.NET編程語言,來編寫他們的代碼,例如微軟自己的Visual Basic .NET(VB.NET),Visual C++, Visual C#和JScrjpt .NET等。大量其它的.NET編程語言可以從第三方廠商獲
55、得。</p><p> 2.2.4 SQL Server 2000數(shù)據(jù)庫介紹</p><p> MicrosoftSQLServer2000是一個分布式的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有客戶機/服務(wù)器體系結(jié)構(gòu),采用了Transact-sql的sql語言在客戶機與服務(wù)器間傳遞客戶機的請求與服務(wù)器的處理結(jié)果。眾所周知,SQLServer2000能夠滿足今天的商業(yè)環(huán)境要求不同類型的數(shù)據(jù)庫解決方案。
56、它一種應(yīng)用廣泛的數(shù)據(jù)庫管理系統(tǒng),具有許多顯著的優(yōu)點:易用性、適合分布式組織的可伸縮性、用于決策支持的數(shù)據(jù)倉庫功能、與許多其他服務(wù)器軟件緊密關(guān)聯(lián)的集成性、良好的性價比等。性能、可伸縮性及可靠性是基本要求,而進入市場時間也非常關(guān)鍵。除這些核心企業(yè)品質(zhì)外,SQLServer2000還為您的數(shù)據(jù)管理與分析帶來了靈活性,允許單位在快速變化的環(huán)境中從容響應(yīng),從而獲得競爭優(yōu)勢。從數(shù)據(jù)管理和分析角度看,將原始數(shù)據(jù)轉(zhuǎn)化為商業(yè)智能和充分利用Web帶來的機會
57、非常重要。作為一個完備的數(shù)據(jù)庫和數(shù)據(jù)分析包,SQLServer2000為快速開發(fā)新一代企業(yè)級商業(yè)應(yīng)用程序、為企業(yè)贏得核心競爭優(yōu)勢打開了勝利之門。作為重要的基準測試可伸縮性和速度獎的記錄保持者,SQLServer2000是一個具備完全Web支持的數(shù)據(jù)庫產(chǎn)品,提供了對可擴</p><p> 3 多功能聊天軟件的設(shè)計方案</p><p> 3.1 聊天系統(tǒng)流程的分析與設(shè)計</p>
58、;<p><b> 圖1 系統(tǒng)流程圖</b></p><p> 此聊天軟件采用了C/S結(jié)構(gòu),其系統(tǒng)流程圖如圖1所示,使用這個聊天系統(tǒng)軟件的用戶必須先進行注冊。用戶首先選擇注冊選項,填寫相關(guān)的注冊信息,然后通過網(wǎng)絡(luò)提交給服務(wù)器,再由服務(wù)器將注冊信息提交給數(shù)據(jù)庫。同時服務(wù)器會按順序生成一個登錄ID號返回給注冊用戶,這樣注冊就完成了。完成注冊的用戶可以用返回的ID號和自己注冊時
59、填寫的密碼進行登錄。用戶將登錄信息提交給服務(wù)器,服務(wù)器根據(jù)數(shù)據(jù)庫中的注冊信息與登錄信息進行比較,比較一致后,則進入系統(tǒng)的客戶端應(yīng)用程序模塊。這時你要與好友進行聊天,則必須添加好友:進行用戶2添加用戶N為好友的操作過程中,用戶2首先向用戶N發(fā)出添加好友的請求信息,當(dāng)用戶N接受到用戶2的信息,在通過驗證后會發(fā)送確認反饋信息給用戶2,并且向服務(wù)器提交好友添加確認信息,這時服務(wù)器就會更新相應(yīng)用戶的好友列表中的信息。好友添加完成后,用戶之間就可以
60、進行彼此之間的通信,如文字聊天、視頻聊天、語音聊天、文件傳輸?shù)取?lt;/p><p> 以上為多功能聊天軟件系統(tǒng)的總體流程圖,其中包括了登錄模塊、注冊模塊、添加好友模塊、服務(wù)器模塊、數(shù)據(jù)庫模塊等。在這個多功能聊天軟件系統(tǒng)開發(fā)設(shè)計與實現(xiàn)中,本人主要負責(zé)登錄模塊、注冊模塊、語音聊天與視聊天功能模塊的設(shè)計與實現(xiàn)。下面就對登錄模塊與注冊模塊的流程進行了分析。</p><p> 3.2 注冊模塊的分
61、析與設(shè)計</p><p> 用戶通過填寫注冊相關(guān)的信息并將其提交給服務(wù)器,服務(wù)器將用戶填寫的相關(guān)信息存入的數(shù)據(jù)庫中去,同時在按順序自動生成一個ID號,發(fā)給注冊用戶,表明注冊成功,此ID號就為用戶登錄帳號。圖2所示為其系統(tǒng)結(jié)構(gòu)圖。</p><p><b> 圖2 注冊系統(tǒng)</b></p><p> 3.3 登錄模塊的分析與設(shè)計</p
62、><p><b> 圖3 登錄系統(tǒng)</b></p><p> 用戶在注冊獲得ID號碼后,在登錄界面填寫ID號碼和密碼并提交給服務(wù)器,服務(wù)器通過用戶提交過來的信息和數(shù)據(jù)庫中原有的用戶信息進行比較和驗證,如果結(jié)果一致表明驗證成功,用戶進入到客戶端的系統(tǒng)界面下,如果不一致,給用戶返回登錄錯誤信息。登錄系統(tǒng)流程分析圖3所示。</p><p> 本設(shè)計
63、主要完成的是視頻聊天、語音聊天模塊,以及登錄、注冊模塊,下面對其設(shè)計與實現(xiàn)進行詳細的說明。</p><p> 4 語音、視頻聊天模塊的具體實現(xiàn)</p><p> 4.1 Video for Windows簡介</p><p> VFW是Microsoft 1992年推出的關(guān)于數(shù)字視頻的一個軟件包,它能使應(yīng)用程序數(shù)字化并播放從傳統(tǒng)模擬視頻源得到的視頻剪輯。VF
64、W的一個關(guān)鍵思想是播放時不需要專用硬件,為了解決數(shù)字視頻數(shù)據(jù)量大的問題,需要對數(shù)據(jù)進行壓縮。它引進了一種叫AVI的文件標準,該標準未規(guī)定如何對視頻進行捕獲、壓縮及播放,僅規(guī)定視頻和音頻該如何存儲在硬盤上,在AVI文件中交替存儲視頻幀和與之相匹配的音頻數(shù)據(jù)。VFW給程序員提供.VBX和AVICap窗口類的高級編程工具,使程序員能通過發(fā)送消息或設(shè)置屬性來捕獲、播放和編輯視頻剪輯。現(xiàn)在用戶不必專門安裝VFW了,Windows95本身包括了Vi
65、deo for Windows1.1,當(dāng)用戶在安裝Windows時,安裝程序會自動地安裝配置視頻所需的組件,如設(shè)備驅(qū)動程序、視頻壓縮程序等。VFW主要由以下六個模塊組成:</p><p> ?。?)AVICAP.DLL:包含了執(zhí)行視頻捕獲的函數(shù),它給AVI文件I/O和視頻、音頻設(shè)備驅(qū)動程序提供一個高級接口。</p><p> ?。?)MSVIDEO.DLL:用一套特殊的DrawDib函數(shù)來
66、處理屏幕上的視頻操作。</p><p> ?。?)MCIAVI.DRV:此驅(qū)動程序包括對VFW的MCI命令的解釋器。</p><p> ?。?)AVIFILE.DLL:支持由標準多媒體I/O(mmio)函數(shù)提供的更高的命令來訪問.AVI文件。</p><p> ?。?)壓縮管理器(ICM):管理用于視頻壓縮-解壓縮的編解碼器(CODEC)。</p>&
67、lt;p> ?。?)音頻壓縮管理器ACM:提供與ICM相似的服務(wù),不同的是它適于波形音頻。</p><p> 4.2 G729.dll的簡介</p><p> G.729算法是ITU-T制定的編碼速率為8kb/s的共軛結(jié)構(gòu)碼激勵線性預(yù)測聲碼器語音編碼算法標準,作為低速率的語音編碼器,在傳輸?shù)膸捰邢薜那闆r下運用越來越受到廣泛的重視。G.729系列算法聲碼器的原理都是相通的,各種算
68、法不同之處在于算法的簡化和編碼比特的多少。G.729編碼器是基于碼激勵線性預(yù)測(CELP)聲碼器模型的。這個編碼器運算的幀長為10ms,相應(yīng)于抽樣率為8000kHz的語音數(shù)據(jù)流的80個樣值,具有8kbit/s的編碼速率,較低的延遲和高編碼語音質(zhì)量等優(yōu)點。</p><p> 本程序在語音聊天模塊中,調(diào)用了G729.dll動態(tài)鏈接庫文件,它包括G.729的函數(shù)和資源,是一種可執(zhí)行文件,它允許程序共享執(zhí)行特殊任務(wù)所必
69、需的代碼和其他資源。</p><p> 4.3 LanMsgLibrary.dll的簡介</p><p> 該聊天軟件系統(tǒng)的語音聊天、視頻聊天功能的實現(xiàn)主要是引用了LanMsgLibrary.dll這個動態(tài)鏈接庫文件,它包括VFW以及其他相關(guān)的函數(shù)與資源。在音頻與視頻聊天實現(xiàn)的過程中,程序就引用了LanMsgLibrary.dll中的VFW以及相關(guān)的函數(shù)和資源。在視頻聊天過程中,主要實
70、現(xiàn)了視頻的捕獲與播放,視頻流的壓縮與解壓。在語音聊天過程中,主要實現(xiàn)了聲音的采集與播放,通過調(diào)用了G729.dll動態(tài)鏈接庫文件,對音頻進行了壓縮與解壓。</p><p> 在整個語音聊天與視頻聊天實現(xiàn)的過程中,程序主要對LanMsgLibrary.dll的引用來實現(xiàn)其功能。</p><p> 4.4 語音、視頻聊天的模塊設(shè)計思想</p><p> 對于一個端
71、對端的語音聊天系統(tǒng)來說,主要涉及兩個方面的動作,即語音的采集和播放、語音數(shù)據(jù)的發(fā)送和接收。系統(tǒng)采用多線程的設(shè)計思想來完成并協(xié)調(diào)各個過程。語音的采集實際上就是一個音頻壓縮的過程。語音的播放是聲音數(shù)據(jù)流的還原過程,通過一個父線程讀取接收線程接收到的數(shù)據(jù),并通過管道讓其子線程播放解壓后的聲音數(shù)據(jù)。語音數(shù)據(jù)的發(fā)送和接收主要用Socket編程來實現(xiàn),socket是網(wǎng)絡(luò)通訊過程中端點的抽象表示。為了通過socket接口進行網(wǎng)絡(luò)通訊,程序在對話的每一
72、端都需要一個socket,兩個socket采用無連接的UDP協(xié)議。</p><p> 用戶1通過麥克對自己的聲音進行采集,在通過壓縮,使其在網(wǎng)絡(luò)上傳輸?shù)男矢撸缓笤龠M行傳輸,當(dāng)用戶2接收到用戶1的聲音數(shù)據(jù)后將其解壓,然后進行播放,如圖4所示。</p><p> 圖4 語音模塊數(shù)據(jù)流程圖</p><p> 在進行語音聊天時,兩臺計算機必須先要建立連接,如圖5
73、所示,用戶1向用戶2發(fā)送“發(fā)送語音請求”信息,用戶2收到用戶1請求信息后,發(fā)送回應(yīng)信息給用戶1,如果用戶2同意,開始語音聊天;不同意,停止語音聊天。</p><p> 圖5 語音聊天建立連接圖</p><p> 此視頻模塊的設(shè)計思想與語音模塊一致,也涉及到兩個方面的動作,視頻的采集和播放,視頻數(shù)據(jù)的發(fā)送和接收。視頻的采集與播放是基于VFW來實現(xiàn)的,利用VFW的關(guān)于數(shù)字視頻的軟件包實現(xiàn)
74、對視頻的采集與播放。視頻數(shù)據(jù)的發(fā)送與接收同樣采用了Socket編程,在發(fā)送視頻時,通過Socket端口進行監(jiān)聽。當(dāng)收到對方發(fā)送的包含視頻請求信息和對方IP地址、端口號等信息后,如果同意請求,則向請求方發(fā)送包含了本地IP、端口號的接受視頻信息,這樣就建立了連接,開始視頻聊天。</p><p> 用戶1通過攝像頭進行視頻采集,經(jīng)過壓縮后,向用戶2發(fā)送采集后的視頻數(shù)據(jù)。用戶2接收到用戶1發(fā)送的視頻數(shù)據(jù)并將其進行解壓,
75、然后在用戶2的采集窗口上播放,這樣視頻的傳輸就完成了。視頻模塊數(shù)據(jù)傳輸流程如圖6所示。</p><p> 圖6 視頻模塊數(shù)據(jù)傳輸流程圖</p><p> 在進行視頻數(shù)據(jù)傳輸前,兩臺計算機必須先要建立連接,其原理和語音聊天建立連接的原理一致。用戶1向用戶2發(fā)送視頻請求,用戶2在接收到用戶1的請求后,給用戶1發(fā)送收到請求后的回應(yīng)信息,如果同意用戶1的請求則用戶1與用戶2開始視頻聊天,如果
76、不同意就終止視頻聊天。視頻聊天建立連接如圖7所示。</p><p> 圖7 視頻聊天建立連接圖</p><p> 4.5 視頻聊天與語音聊天模塊功能的具體實現(xiàn)</p><p> 聊天軟件所包含的視頻聊天和語音聊天功能的實現(xiàn),滿足了用戶對聊天軟件的需求,使聊天軟件的功能更加人性化。</p><p> 當(dāng)用戶通過登陸進入到聊天軟件客戶端的
77、主程序后,通過程序udpThread = new Thread(new ThreadStart(UdpReceiveMsg));udpThread.Start()開辟并啟用了udp的線程,而且調(diào)用了UDP的UdpReceiveMsg()的接收函數(shù),用來接收數(shù)據(jù),通過程序videoThread= new Thread(new ThreadStart(video));videoThread.Start()開辟并啟用了視頻線程,專門用來好友之
78、間的視頻、語音聊天,此線程調(diào)用了videoSocket.Listen(2007)函數(shù)用來對2007端口進行監(jiān)聽。當(dāng)用戶1和用戶2之間要進行視頻、語音聊天時,用戶1雙擊用戶2頭像進入與用戶2的視頻對話框中,點擊“請求視頻”按鈕后,來激發(fā)bt_video_Click(object sender, EventArgs e)事件的發(fā)生,此事件中包含了ReadyConnect(remoteIP, 2007, new ClassMsg("
79、RSC", my_id.ToString() , null))函數(shù),這個函數(shù)的功能是將帶有自己</p><p> 5 登錄、注冊模塊功能模塊及其它特殊功能模塊實現(xiàn)分析</p><p> 5.1 登錄模塊功能的具體實現(xiàn)</p><p> 登錄模塊是用戶身份的驗證模塊,該聊天軟件系統(tǒng)通過服務(wù)器對用戶輸入的密碼和用戶ID與注冊時的用戶ID和密碼進行比較,
80、來進行對用戶身份的驗證,看用戶是否有權(quán)限使用該聊天軟件。</p><p> 登錄模塊實現(xiàn)的具體步驟是首先在程序開辟一個單線程的程序入口點,在客戶端主函數(shù)運行時,程序調(diào)用Client_Load(object sender, System.EventArgs e)函數(shù),將界面顯示為登錄界面,進行登錄操作。當(dāng)用戶在登錄界面填寫完用戶ID與密碼時,單擊登錄按鈕,此時調(diào)用button3_Click(object send
81、er, System.EventArgs e)事件,通過tcpc.Connect(ip,port)函數(shù)與服務(wù)器連接,并進行異常處理。如果連接失敗,提示錯誤信息;如果連接成功,通過調(diào)用SendMsg(NetworkStream ns)函數(shù)將登錄信息發(fā)送到服務(wù)器端來進行相關(guān)驗證,當(dāng)客戶端接收到從服務(wù)器發(fā)送的temp=="ACC"信息后,會顯示一個窗體說明登錄成功,點擊“完成”按鈕就完成登錄操作,進入到用戶客戶端模式下。如
82、果從服務(wù)器端發(fā)送的信息為temp=="UAC",表明登錄失敗并彈出一個提示錯誤信息窗體。單擊取消按鈕會調(diào)用button4_Click(object sender, System.EventArgs e)事件來關(guān)閉窗體以及客戶端程序。</p><p> 5.2 注冊模塊功能的具體實現(xiàn)</p><p> 注冊模塊的功能是可以讓用戶獲得使用該聊天軟件系統(tǒng)的權(quán)限,用戶可以通
83、過注冊來獲得登錄時的用戶ID號。雙擊應(yīng)用程序進入登錄界面后,沒有注冊的用戶可以點擊登錄界面的“帳號申請”按鈕,這時程序就調(diào)用button1_Click(object sender, EventArgs e)事件,進入到注冊模塊界面。然后填寫相關(guān)的注冊信息,單擊確定按鈕,調(diào)用button1_Click(object sender, EventArgs e)事件,先對填寫的信息進行判斷,看是否有誤,如果有誤就顯示錯誤提示信息;如果填寫信息正
84、確,就通過tcpc.Connect(serverip , port)函數(shù)對服務(wù)器進行連接,并進行異常處理。連接不成功時,會提示錯誤信息;如果連接成功,注冊信息會通過服務(wù)器寫入數(shù)據(jù)庫中。這時服務(wù)器就返回一個用戶ID號碼,觸發(fā) this.MyIDChange += new WinCtrlLib.UserCtrl.MyEvent(Myid_Change) 注冊程序中的事件發(fā)生,并調(diào)用Myid_Change(object sender, Win
85、CtrlLib.MyEventArgs e) 函數(shù)將服</p><p> 5.3 頭像閃動功能的具體實現(xiàn)</p><p> 在用戶之間進行聊天的過程中,如果用戶1向用戶2發(fā)送信息,用戶2在接收到用戶1信息的同時,用戶1的頭像會在用戶2客戶端界面上不斷地閃爍,來提醒用戶2已經(jīng)接收到用戶1的信息,用戶2可以雙擊用戶1的頭像來查看用戶1所發(fā)的信息。</p><p>
86、 其實現(xiàn)相關(guān)代碼如下:</p><p> private void timer1_Tick(object sender, EventArgs e)</p><p><b> {</b></p><p> if (ChatWin.Createds == false && msgrec== true )</p>
87、<p><b> {</b></p><p><b> int i;</b></p><p> i = jishi % 2;</p><p> if (i == 1)</p><p><b> {</b></p><p> pb_u
88、ser.Visible = false;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> pb_user.Visible = true;</p><p>&
89、lt;b> }</b></p><p> jishi = i + 1;</p><p><b> }</b></p><p><b> }</b></p><p> ChatWin.Createds是建立好友對話框的變量,msgrec是接受好友信息的變量,申明一個變量i,
90、并且讓i等于jishi除以2的模,jishi等于i加1,也就是說,在這段代碼中i的值不是為1,就是為0,當(dāng)i等于1時,客戶端界面則不顯示該好友的頭像,當(dāng)i等于0時,該客戶端顯示該好友頭像,這段代碼調(diào)用了timer1_Tick(object sender, EventArgs e)這個方法,讓其每隔一段時間執(zhí)行一次jishi=i+1,讓i的值在1和0之間變化,這樣就可以達到接收到信息頭像閃爍的效果。當(dāng)好友對話框沒有建立并接收到好友信息時,
91、這時條件符合,則開始頭像閃爍。如過好友對話框已經(jīng)建立或者沒接收到好友的信息,條件不符合,不執(zhí)行該段代碼,好友頭像不閃爍。</p><p> 6 系統(tǒng)的綜合測試與分析</p><p> 本設(shè)計是一個由兩人合作完成的一個多功能聊天軟件系統(tǒng),可以進行文字聊天、文件傳輸、視頻聊天和語音聊天。使用步驟和功能類似于現(xiàn)今較為流行的聊天軟件QQ。因為該聊天軟件的功能是集合一起的,所以要將所有功能都要
92、進行測試,下面對該聊天軟件進行了綜合的測試。</p><p> 用戶在使用這個聊天軟件系統(tǒng)時先要進行注冊,來獲取登錄的ID號,用戶通過填寫注冊模塊中用戶名、密碼、頭像ID的相關(guān)內(nèi)容后,單擊確定按鈕,提交給服務(wù)器,服務(wù)器這時就會返回一個登錄ID給用戶,如圖8所示。</p><p><b> 圖8 注冊</b></p><p> 用戶在注冊
93、后,用獲得的ID號碼在登錄模塊中進行登錄,用戶在登錄界面填寫用戶ID和密碼后,單擊“登錄”按鈕,會彈出一個登錄成功的對話框,則表示登錄成功。單擊該對話框中的按鈕,就會進入客戶端界面。如果不想登錄則單擊登錄界面的“取消”按鈕。如圖9所示。</p><p> 用戶在登錄成功后會進入客戶端界面。如果想和朋友進行聊天,就用鼠標雙擊該好友的頭像進入與好友對話的界面,此時就可以與好友進行對話。如圖10所示。</p&g
94、t;<p><b> 圖9 登錄頁面</b></p><p> 圖10 客戶端界面</p><p> 進入到與好友的對話界面后,如果想與好友進行語音、視頻聊天,那么單擊該界面上的“請求視頻”按鈕,好友就會收到你請求視頻聊天信息的對話框,好友同意,則單擊接收視頻按鈕,兩人就可以進行視頻、語音聊天了,在界面的話筒和喇叭的圖片旁邊有兩個調(diào)節(jié)大小的組件
95、,話筒旁的是調(diào)節(jié)麥克的大小,喇叭旁的是調(diào)節(jié)耳機音量的大小,這樣就可以很方便的進行語音聊天了。如圖11所示。</p><p> 圖11 視頻語音界面</p><p> 該多功能軟件聊天操作簡單、容易,在運行時占有系統(tǒng)資源量少。但是其功能并不是很完善,不像QQ那樣人性化,在數(shù)據(jù)庫設(shè)計上,只實現(xiàn)了為用戶提供了用戶名、帳號、密碼等基本的信息,但在以后會進行完善。</p><
96、;p><b> 結(jié) 論</b></p><p> 經(jīng)過這次對聊天系統(tǒng)軟件的開發(fā)與設(shè)計,學(xué)到了很多知識,也對軟件開發(fā)的具體步驟有了更進一步的了解。</p><p> 該系統(tǒng)由兩人合作完成,采用C/S結(jié)構(gòu),基于.NET開發(fā)環(huán)境,用C#語言進行編譯,在開發(fā)與設(shè)計這個聊天系統(tǒng)軟件時,對.NET開發(fā)環(huán)境有基本的認識,并基本學(xué)會運用C#的語言編譯簡單的程序。&l
97、t;/p><p> 此聊天軟件的開發(fā)是仿照現(xiàn)今國內(nèi)最為流行的即時聊天工具“騰迅QQ”設(shè)計,實現(xiàn)的基本功能與QQ相似:可以實現(xiàn)注冊、登錄、添加好友、文字傳輸、文件傳輸、視頻聊天、語音聊天等的功能。</p><p> 在開發(fā)此軟件過程中,本人主要承擔(dān)視頻聊天與語音聊天開發(fā)、設(shè)計與實現(xiàn)。在開發(fā)過程中,對網(wǎng)絡(luò)多媒體基礎(chǔ)知識有了初步的認識,也對有關(guān)VFW的基本功能有所初步的了解。</p>
98、<p> 通過這次由兩人合作開發(fā)、合作完成的這個聊天系統(tǒng),深刻的感受到在軟件開發(fā)過程中團隊協(xié)作的重要性。</p><p> 隨著互聯(lián)網(wǎng)技術(shù)、計算機技術(shù)的發(fā)展,聊天工具的功能不斷的完善,使其具有人性化,受到更多用戶的青睞。在未來的網(wǎng)絡(luò)世界里,聊天工具會得到更多人喜愛,其功能也會隨著技術(shù)的進步而不斷地完善。</p><p><b> 參考文獻</b>&
99、lt;/p><p> [1] 張青,郭亞萍.C#編程思想與實踐[M].北京:冶金工業(yè)出版社,2005。</p><p> [2] 陳明.實用軟件工程基礎(chǔ)[M].北京:清華大學(xué)出版社,2002。</p><p> [3] 黃德志,湯慶恩.C#程序設(shè)計實用教程[M].北京:冶金工業(yè)出版社,2002。</p><p> [4] 王敏.C#線程參
100、考手冊[M].北京:清華大學(xué)出版社,2003。</p><p> [5] 葛昊晗,燙涌濤,李強.C#大學(xué)教程[M].北京:清華大學(xué)出版社,2003。</p><p> [6] 李澤,陳彬,唐俊瞿,張曜.C#函數(shù)實用手冊[M].北京:冶金工業(yè)出版社,2006。</p><p> [7] 熊盛心,許志慶,李欽.Visual C# .NET語言參考手冊[M].北京:
101、清華大學(xué)出版社,2002。</p><p> [8] 仇谷烽,澎洪洪.Visual C# .NET網(wǎng)絡(luò)編程[M].北京:清華大學(xué)出版社,2004。</p><p> [9] 四維科技,劉袆瑋.Visual C++視頻/音頻開發(fā)實用工程案例精選[M].北京:人民郵電出版社,2004。</p><p><b> 致 謝</b></
102、p><p> 本文是在XX老師和XX老師的熱情關(guān)心和指導(dǎo)下完成的,他們淵博的知識和嚴謹?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對順利完成本課題起到了極大的作用。在此向他們表示我最衷心的感謝!</p><p> 感謝XX老師和XX老師在課題研究初期給予的幫助,在XX和XX的幫助下課題才得以很好的展開,有了一個很好的開端!感謝XX同學(xué)在問卷調(diào)查中給予的幫助,因為他們的協(xié)助,才得以高效率的完成了所有問卷調(diào)查,獲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——多功能聊天軟件的設(shè)計與開發(fā)--音頻視頻聊天模塊
- 多功能聊天軟件的設(shè)計與開發(fā)——音頻視頻聊天模塊.doc
- 多功能聊天軟件的設(shè)計與開發(fā)——音頻視頻聊天模塊.doc
- 計算機畢業(yè)設(shè)計---軟件學(xué)院網(wǎng)站設(shè)計
- 計算機(軟件)畢業(yè)設(shè)計--航空訂票系統(tǒng)
- 計算機審計軟件的設(shè)計與開發(fā).pdf
- linux平臺下的聊天軟件的設(shè)計與開發(fā)畢業(yè)設(shè)計
- 計算機科學(xué)與技術(shù)畢業(yè)設(shè)計--web應(yīng)用開發(fā)
- 計算機科學(xué)與技術(shù)畢業(yè)設(shè)計--web應(yīng)用開發(fā)
- 計算機畢業(yè)設(shè)計---計算機病毒的研究與防治
- 計算機科學(xué)與技術(shù)畢業(yè)設(shè)計-基于網(wǎng)絡(luò)的任務(wù)調(diào)度管理軟件設(shè)計與開發(fā)
- 計算機科學(xué)與技術(shù)畢業(yè)設(shè)計
- 計算機科學(xué)與技術(shù)畢業(yè)設(shè)計論文∶web應(yīng)用開發(fā)
- 計算機畢業(yè)設(shè)計90范文_asp軟件學(xué)院網(wǎng)站
- 計算機畢業(yè)設(shè)計90范文_asp軟件學(xué)院網(wǎng)站
- 畢業(yè)設(shè)計---《計算機網(wǎng)絡(luò)》課程開發(fā)系統(tǒng)的設(shè)計與實現(xiàn)
- 多功能溫室的計算機測控系統(tǒng)的設(shè)計與研究.pdf
- 計算機電源設(shè)計【畢業(yè)設(shè)計】
- 計算機遠程維護畢業(yè)設(shè)計
- 計算機網(wǎng)站畢業(yè)設(shè)計
評論
0/150
提交評論