基于局域網(wǎng)的信息收發(fā)系統(tǒng)的設計與實現(xiàn)——畢業(yè)論文_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于局域網(wǎng)的信息收發(fā)系統(tǒng)的設計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  網(wǎng)絡通訊在當今已經(jīng)不算新鮮事物,但大多數(shù)網(wǎng)絡通訊都需要借助Internet上的服務器,這就給那些具有大規(guī)模內(nèi)部網(wǎng)絡的用戶造成了許多問題,如浪費網(wǎng)絡資源、遭遇到網(wǎng)絡攻擊、傳播的病毒、破壞防御系統(tǒng)等等。由于互連網(wǎng)上的網(wǎng)絡通訊工具給企業(yè)內(nèi)部信息交流帶

2、來了不便,所以為了方便內(nèi)部網(wǎng)絡的用戶之間的溝通,需要開發(fā)一個基于局域網(wǎng)的信息收發(fā)系統(tǒng)的即時通訊工具,實現(xiàn)在內(nèi)部網(wǎng)絡中進行信息的交流。本課題設計主要針對局域網(wǎng)通訊而開發(fā)設計的,采用的是C/S構架,利用Delphi編程工具來實現(xiàn)單播、廣播以及在線用戶顯示和查看歷史記錄的功能,并借助一些網(wǎng)絡通訊組件,成功的實現(xiàn)了在局域網(wǎng)上的即時通訊。本論文共分為六部分。第一部分是課題的背景及研究意義;第二部分是所運用的理論基礎知識;第三部分是本系統(tǒng)的需求分析

3、;第四部分是系統(tǒng)結構和模塊設計;第五部是實施和測試情況;最后是本設計的結論總結及部分參考文獻。</p><p>  關鍵詞:即時通訊;C/S構架;單播;廣播;歷史記錄 </p><p>  The Design and Implementation of Receiving and Sending Information System Based On LAN</p><

4、;p><b>  Abstract</b></p><p>  The network communication in already did not calculate the new things now, but the majority network communication all needed to draw support from on Internet the

5、server, this gave these to have the large-scale internal network user to create many problems, like waste network resources, bitter experience to network attack, dissemination virus, destruction defense system and so on.

6、 Because on the interconnection network communication facilities the interior communication have brought inconvenientl</p><p>  Key words: Instant message; C/S structure; Unicast; Broadcast; Historic record&

7、lt;/p><p><b>  目 錄</b></p><p><b>  論文總頁數(shù):25頁</b></p><p><b>  1引言1</b></p><p>  1.1課題的背景1</p><p>  1.2國內(nèi)外研究現(xiàn)狀1</p

8、><p>  1.3本課題研究的意義2</p><p><b>  2理論基礎2</b></p><p>  2.1C/S軟件架構技術2</p><p>  2.2用戶數(shù)據(jù)報協(xié)議(UDP)3</p><p>  2.3單播(Unicast)3</p><p>

9、;  2.4廣播(Broadcast)4</p><p><b>  3需求分析5</b></p><p>  3.1現(xiàn)行業(yè)務系統(tǒng)描述5</p><p>  3.2現(xiàn)行系統(tǒng)存在的主要問題分析5</p><p>  3.3提出解決方案6</p><p><b>  4

10、系統(tǒng)設計6</b></p><p>  4.1系統(tǒng)總體架構6</p><p>  4.2界面設計7</p><p>  4.3系統(tǒng)功能模塊設計9</p><p>  4.3.1網(wǎng)絡組件9</p><p>  4.3.2用戶信息顯示功能10</p><p>  4

11、.3.3局域網(wǎng)內(nèi)實現(xiàn)單播功能14</p><p>  4.3.4局域網(wǎng)內(nèi)實現(xiàn)廣播功能17</p><p>  4.3.5歷史信息記錄功能17</p><p>  5系統(tǒng)實施及測試18</p><p>  5.1實施概況18</p><p>  5.2測試方案19</p><p

12、>  5.3測試結果21</p><p><b>  結 論22</b></p><p><b>  參考文獻22</b></p><p><b>  致 謝24</b></p><p><b>  聲 明25</b>&

13、lt;/p><p><b>  引言</b></p><p><b>  課題的背景</b></p><p>  隨著計算機網(wǎng)絡日新月異的發(fā)展,人們的交流方式越來越多,傳統(tǒng)的交流方式,如:信件、電報、電話等已經(jīng)難以滿足人們的交流要求,在互聯(lián)網(wǎng)上即時的和好友取得聯(lián)系,已經(jīng)成為當今社會人們主流的聯(lián)系方式。因此,計算機之間進行即時通

14、訊、發(fā)送文件等交流方式已經(jīng)成為必然潮流。因此出現(xiàn)了QQ、UC等聊天工具,然而QQ、UC等聊天工具雖然方便、實用,但是,娛樂功能太多,有很多吸引人的娛樂功能,從一定程度上來說,是一種娛樂工具,不能作為用于即時通訊、文件共享的專用工具。目前,用于實現(xiàn)單一的即時通訊、文件共享的軟件實在太少,而且它們中大部分都對遠程服務器有非常大的依賴性,沒有徹底實現(xiàn)點對點的交流。為此,我們決定開發(fā)一個專用于實現(xiàn)基于局域網(wǎng)內(nèi)部計算機之間即時通訊、文件傳輸?shù)能浖?/p>

15、,以方便內(nèi)網(wǎng)計算機之間信息的交流。本軟件屬于點對點連接的,在連接并通信時,尤其是近程的即時通訊,徹底的脫離了遠程的服務器,避免了和遠程服務器連接時過多的浪費網(wǎng)絡資源。并且避免了服務器忙或與服務器無法連接時,浪費過多時間用于和服務器建立連接。因此,這個軟件是極具適應性和實用性的即時通訊軟件。</p><p><b>  國內(nèi)外研究現(xiàn)狀</b></p><p>  即時通

16、訊的出現(xiàn)和互聯(lián)網(wǎng)有著密不可分的關系,從技術上來說,IM完全基于TCP/IP網(wǎng)絡協(xié)議族實現(xiàn),而TCP/IP協(xié)議族是整個互聯(lián)網(wǎng)得以實現(xiàn)的技術基礎,最早期的即時通訊雛形可以追溯到芬蘭人Jarkko Oikarinen于1988年發(fā)明的一種網(wǎng)絡聊天協(xié)議IRC(Internet Relay Chat),該協(xié)議僅支持文本聊天,并且也不支持好友列表的概念,1996年第一個 IM產(chǎn)品ICQ發(fā)明后,即時通訊的技術和功能開始基本成型,其工作原理開始被人們所

17、了解,但不同廠商實現(xiàn)即時通訊技術原理時采用的協(xié)議卻有較大的差異,甚至到目前為止世界主要的 IM服務運營商AOL(American Online:美國在線)仍然沒有公布其主要即時通訊產(chǎn)品AIM(American Instant Messenger)的專用協(xié)議。從1997年第一代即時通訊軟件誕生后發(fā)展到現(xiàn)在,即時通訊行業(yè)先后經(jīng)歷了文本通信(第一代)、語音交流(第二代)、視頻交流(第三代)和跨網(wǎng)溝通(第四代)等多種信息傳遞技術變革。盡管第一代

18、、第二代以及第三代即時通訊軟件的信息傳遞主要在互聯(lián)網(wǎng)范圍內(nèi),但各個階段都可以看到即時通訊行業(yè)在跨網(wǎng)通訊領域中的應用</p><p><b>  本課題研究的意義</b></p><p>  隨著現(xiàn)代通訊技術不斷的發(fā)展,即時通訊技術也有飛速的發(fā)展,它是一種使人們能在網(wǎng)上識別在線用戶并與他們實時交換消息的技術,被很多人稱為電子郵件發(fā)明以來最酷的在線通訊方式。但是為了提高通

19、訊的質量,很多企業(yè)在網(wǎng)絡上進行即時通訊時一般都不會采用Internet上的即時通訊軟件,如QQ、MSN、OICQ等。因此本課題主要是研究基于局域網(wǎng)的信息收發(fā)系統(tǒng)的設計與實現(xiàn),希望能通開發(fā)設計的局域網(wǎng)通訊軟件來方便在內(nèi)部網(wǎng)絡上的信息交流,這樣不緊提高了通訊的質量,還能有效的防護在互連網(wǎng)上帶來的攻擊,對于那些大中型企業(yè)來說更是需要這樣的一個自己內(nèi)部的即時通訊工具,避免帶來工作效率上不去;病毒及木馬的感染率增大;遠程服務器連接時過多的浪費網(wǎng)絡

20、資源;互連網(wǎng)由于某種原因而斷開時造成通訊中斷等問題。</p><p><b>  理論基礎</b></p><p><b>  C/S軟件架構技術</b></p><p>  C/S(Client/Server)結構,即大家熟知的客戶機和服務器結構。它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配

21、到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都是Client/Server形式的兩層結構,由于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的Web應用發(fā)展,Web和Client/Server應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前應用系統(tǒng)的發(fā)展方向。</p><

22、;p>  傳統(tǒng)的C/S體系結構雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應用中無論是Client端還是Server端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,C/S結構的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應百臺電腦以上局域網(wǎng)用戶同時使用。</p><p>  圖1 客戶機/服務器計算結構</p><p

23、>  用戶數(shù)據(jù)報協(xié)議(UDP)</p><p>  用戶數(shù)據(jù)報協(xié)議(UDP)是ISO參考模型中一種無連接的傳輸層協(xié)議,提供面向事務的簡單不可靠信息傳送服務。UDP協(xié)議基本上是IP協(xié)議與上層協(xié)議的接口。UDP協(xié)議適用端口分辨運行在同一臺設備上的多個應用程序。 </p><p>  由于大多數(shù)網(wǎng)絡應用程序都在同一臺機器上運行,計算機上必須能夠確保目的地機器上的軟件程序能從源地址機器處獲得

24、數(shù)據(jù)包,以及源計算機能收到正確的回復。這是通過使用UDP的“端口號”完成的。源端口號標識了請求域名服務的本地機的應用程序,同時需要將所有由目的站生成的響應包都指定到源主機的這個端口上。與TCP不同,UDP并不提供對IP協(xié)議的可靠機制、流控制以及錯誤恢復功能等。由于UDP比較簡單,UDP頭包含很少的字節(jié),比TCP負載消耗少,所以UDP適用于不需要TCP可靠機制的情形,比如,當高層協(xié)議或應用程序提供錯誤和流控制功能的時候。UDP是傳輸層協(xié)議

25、,服務于很多知名應用層協(xié)議,包括網(wǎng)絡文件系統(tǒng)(NFS)、簡單網(wǎng)絡管理協(xié)議(SNMP)、域名系統(tǒng)(DNS)以及簡單文件傳輸系統(tǒng)(TFTP)。 </p><p>  單播(Unicast)</p><p>  單播(Unicast)指網(wǎng)絡中從源向目的地轉發(fā)單播流量的過程。單播流量地址唯一。單播方式下,只有一個發(fā)送方和一個接收方。與之比較,組播是指單個發(fā)送方對應一組選定接收方的一種通信,任意播是

26、指任意發(fā)送方對應一組較為接近的接收方間的一種通信。早期的點對點通信含義類似于單播。</p><p>  單播傳輸是 LANs 傳輸中的主要使用方式。所有 LANs(如以太網(wǎng))和 IP 網(wǎng)絡都支持單播傳輸模式,并且大多數(shù)用戶都了解標準單播應用程序,如:http、smtp、ftp 和 telnet ― 都作為 TCP 傳輸協(xié)議。新版本的網(wǎng)際協(xié)議第六版(IPv6)支持單播同時也支持任意播和組播類型。許多路由選擇協(xié)議如路

27、由選擇信息協(xié)議(RIP)和開放最短路徑優(yōu)先(OSPF),都支持高效 Internet 單播路由選擇過程。</p><p>  而IPv6 支持單播(Unicast)、組播(Multicast)和任意播(Anycast)三種類型。IPv6 中沒有關于廣播(Broadcast)的具體劃分,而是作為組播的一個典型類型。</p><p>  圖2 單播物理結構圖</p><p&

28、gt;  廣播(Broadcast)</p><p>  網(wǎng)絡廣播是指一個節(jié)點同時向相同域中的其它所有節(jié)點傳輸數(shù)據(jù)包的過程。組播是一種特殊的廣播,其中一組請求收聽的選定用戶將收到廣播。廣播傳輸通常在局域網(wǎng)(如以太網(wǎng))中進行,但有時也發(fā)生在虛擬局域網(wǎng)(VLAN)中。IPv6 支持單播(Unicast)、組播(Multicast)以及任意播(Anycast)三種類型,IPv6 中沒有關于廣播(Broadcast)的具

29、體劃分,而是作為組播的一個典型。</p><p>  生成廣播信息的應用程序包括地址解析協(xié)議(ARP)。通過該協(xié)議,主機發(fā)送一個地址解析查詢到局域網(wǎng)中的所有計算機上,以實現(xiàn)網(wǎng)絡 IP 地址的分配。有些路由選擇協(xié)議,如RIP,主要用于支持網(wǎng)絡設備“Advertise”網(wǎng)絡服務。</p><p>  網(wǎng)絡廣播中涉及以下重要概念:</p><p>  廣播域(Broadc

30、ast Domain):這是一個限定區(qū)域,其中的所有設備都可以共享信息。換句話說,與網(wǎng)絡相連,且負責接收廣播的所有設備都是同一廣播域的一部分。在一個共享以太網(wǎng)中,工作站通過共享媒體將幀廣播到其它所有節(jié)點。其它節(jié)點收聽廣播,只接收尋址到它們的幀。因此,共享以太網(wǎng)中的所有節(jié)點都屬于同一廣播域。此外通過虛擬局域網(wǎng)技術可以創(chuàng)建一個虛擬廣播域。</p><p>  廣播地址(Broadcast Address):這是一個特

31、殊地址,當數(shù)據(jù)包可以尋址到該地址時,可以幫助所有設備打開和處理信息。例如,MAC 地址,格式為 1xFFFFFFFF 是一種廣播地址;IP 地址255.255.255.255是通用廣播地址。任何設備都將打開尋址到廣播地址的信息,并將它們傳送到下一個工作站。</p><p>  廣播風暴(Broadcast Storm):當主機系統(tǒng)響應一個在網(wǎng)上不斷循環(huán)的廣播數(shù)據(jù)包或者試圖響應一個沒有應答的系統(tǒng)時就會發(fā)生廣播風暴。

32、隨著網(wǎng)絡數(shù)據(jù)包數(shù)量的增加,廣播風暴可能會引起網(wǎng)絡擁塞問題。為防止廣播風暴的發(fā)生,需要細心配置網(wǎng)絡以阻止非法廣播信息的進入。</p><p>  圖3 廣播物理結構圖</p><p><b>  需求分析</b></p><p><b>  現(xiàn)行業(yè)務系統(tǒng)描述</b></p><p>  隨著計算機網(wǎng)絡

33、日新月異的發(fā)展,人們的交流方式越來越多,傳統(tǒng)的交流方式如:信件、電報、電話等已經(jīng)難以滿足人們的交流要求,在互聯(lián)網(wǎng)上即時的和好友取得聯(lián)系,已經(jīng)成為當今社會人們主流的聯(lián)系方式。兩臺計算機之間進行即時通訊、發(fā)送文件等交流方式已經(jīng)成為時代的潮流。因此出現(xiàn)了QQ、UC等即時通訊工具。這些即時通訊業(yè)務屬于基礎語音業(yè)務外的數(shù)據(jù)增值類業(yè)務,從范疇來講屬于“消息類”業(yè)務,本質是完成對“文字、聲音、圖像”信息的傳遞。同屬于消息類的業(yè)務還有短信、彩信等,他們

34、之間都存在一定程度的替代性,同時又各有長短。但不會成為那些大中型企業(yè)內(nèi)部的主要通訊工具,在企業(yè)中要求很簡單,能確??焖僬5募磿r通訊,還要具有很好的安全性,這樣才能提高工作效率,增加企業(yè)的效益。</p><p>  現(xiàn)行系統(tǒng)存在的主要問題分析</p><p>  目前,像QQ、UC等即時通訊工具雖然方便、實用,但是,娛樂功能太多,有很多吸引人的娛樂功能,從一定程度上來說,是一種娛樂工具,不

35、能作為用于作為即時通訊、文件共享的專用工具。并且現(xiàn)在用于實現(xiàn)單一的即時通訊、文件共享的軟件真的實在太少,因此不能為那些大中型企業(yè)所使用,而且在現(xiàn)行的系統(tǒng)中主要的問題是:一、在即時通訊系統(tǒng)中由于防火墻、網(wǎng)絡速度等原因難以建立或者速度很慢,IM服務器還提供消息中轉服務,即時消息全部先發(fā)送到IM服務器,還要再由服務器轉發(fā)給對方,所以連接時過多的浪費了網(wǎng)絡資源,并且在服務器忙或與服務器無法連接時,浪費過多時間用于和服務器建立連接;二、即時通訊工

36、具始終是通過互連網(wǎng)的服務器來傳輸?shù)?,正是這樣所以更有可能會帶來遭遇到網(wǎng)絡上的許多攻擊,如木馬,蠕蟲等。為企業(yè)中的信息交流帶來了很大的安全性問題。</p><p><b>  提出解決方案</b></p><p>  根據(jù)企業(yè)在內(nèi)部網(wǎng)絡上信息交流的需求,所以本課題就主要針對內(nèi)部的網(wǎng)絡來設計這樣的一個即時通訊系統(tǒng),本系統(tǒng)是在基于局域網(wǎng)的在IM客戶端和IM服務器之間通訊采用

37、的UDP協(xié)議和C/S軟件構架技術上開發(fā)的通訊工具,它在近程的即時通訊時徹底的脫離了遠程的服務器,不通過遠程服務器來完成實現(xiàn)通訊,避免了和遠程服務器連接時過多的浪費網(wǎng)絡資源。并且避免了服務器忙或與服務器無法連接時浪費過多時間用于和服務器建立連接,同時也為內(nèi)網(wǎng)服務增強了許多的安全性,徹底的將通訊工具從互連網(wǎng)上搬到內(nèi)網(wǎng)中來,這樣一來就不會受到來自互連網(wǎng)的攻擊了。這種系統(tǒng)主要是為了方便了大中型企業(yè)在內(nèi)部即時通訊要求,從而進一步提高工作效率,增加

38、企業(yè)的效益。</p><p><b>  系統(tǒng)設計</b></p><p><b>  系統(tǒng)總體架構</b></p><p>  本系統(tǒng)主要是采用C/S結構,并且每個客戶端也是作為服務器端的,當系統(tǒng)發(fā)送信息給局域網(wǎng)的用戶,主要由單播模塊和廣播模塊來實現(xiàn),而其中的單播模塊和用戶信息模塊是具有依賴性的,在接收信息的時候又有兩個

39、模塊來完成,一是信息接收的模塊,另一個是信息查看的模塊。</p><p>  由此可以看出本系統(tǒng)主要分為兩大部分模塊:發(fā)送模塊和接收模塊。發(fā)送模塊:單播模塊,廣播模塊,用戶信息模塊,信息記錄模塊接收模塊:接收信息模塊,查看信息模塊</p><p>  有了以上的了解了那讓我們來看看系統(tǒng)的架構圖:</p><p><b>  圖4 系統(tǒng)架構圖</b&g

40、t;</p><p><b>  界面設計</b></p><p>  為了方便用戶的操作,我采用比較簡單的界面設計,主界面包括廣播按鈕、發(fā)送按鈕、刷新按鈕、在線用戶顯示框、信息輸入窗體。其中廣播按鈕是將信息窗體中的內(nèi)容發(fā)送到所有的用戶;發(fā)送按鈕是將信息窗體中的內(nèi)容發(fā)送到指定的用戶;在線用戶顯示框中選取指定的用戶和查看用戶的信息;刷新是重載用戶列表。</p>

41、;<p><b>  圖5 主界面</b></p><p>  當有信息傳過來時將自動彈出一個信息接收的窗體,窗體包括查看按鈕和關閉按鈕還有一個顯示對方用戶的區(qū)域,他們分別是用來打開并查看信息或是不想查看而關閉的作用。</p><p><b>  圖6 信息接收界面</b></p><p>  如過你在圖6中

42、點擊了查看按鈕,那么將會彈到顯示信息查看的窗體上,在文本區(qū)則會顯示對方傳送過來的信息內(nèi)容,在查看了之后有個關閉按鈕,用來結束對話框,便可以回到圖5的界面了。</p><p><b>  圖7 信息查看界面</b></p><p>  在歷史記錄的窗體中點擊記錄文件按鈕來選擇保存的路徑,將會自動生成一個文本文件來對通訊記錄進行保存。</p><p&g

43、t;<b>  圖8 歷史記錄</b></p><p><b>  系統(tǒng)功能模塊設計</b></p><p><b>  網(wǎng)絡組件</b></p><p>  UDP協(xié)議由TCP協(xié)議衍生而來。TCP用于確保點對點的連接,而UDP并不保證發(fā)送的數(shù)據(jù)一定到達,也不表明數(shù)據(jù)報的傳輸成功或失敗。</p&

44、gt;<p>  本系統(tǒng)設計使用的是TIdUDPClient和TIdUDPServer兩個用戶數(shù)據(jù)報(UDP)組件,首先創(chuàng)建Delphi工程。然后向工程組再添加一個工程。把一個工程作為客戶,另一個作為服務器。為連接到UDP服務器,需要一個TIdUDPClient組件。用來表示服務器的IP地址和端口號。由于UDP是無連接的,因此在UDP的接口方法中不包括Connect方法。要使用Internet Direct實現(xiàn)的組件,只需

45、使用Send向給定的IP地址和端口號廣播一個命令字符串。</p><p>  其中我為IP地址和端口號的設置分別為127.0.0.1和9000。服務器是作為應用程序實現(xiàn)的,它對客戶程序發(fā)出的一個簡單的命令集進行響應。為實現(xiàn)服務器,程序將監(jiān)聽DefaultPort端口上的廣播,并將TIdUDPServer.Active設置為True。</p><p>  下面是我對TIdUDPClient和

46、TIdUDPServer組件的設置圖:</p><p>  圖9 TIdUDPClient組件設置</p><p>  圖10 TIdUDPServer組件設置</p><p><b>  用戶信息顯示功能</b></p><p>  為了方便用戶選取單個用戶進行信息發(fā)送和查看在線用戶的信息,所以設計了一個ListVie

47、w來進行顯示如圖5,在ListView中包括了用戶名、工作組、IP地址。當有用戶打開本系統(tǒng)的時候將會向局域網(wǎng)中的所有用戶發(fā)送一個握手信息來獲取網(wǎng)絡中的在線用戶信息并添加到列表中顯示出來,同時也把自己的網(wǎng)絡資源信息發(fā)送給對方,使自己被添加到其他用戶的列表中。</p><p>  其中分別要對網(wǎng)絡中的所有的用戶名、工作組、IP地址進行獲取,下面來看一下對于獲取這些網(wǎng)絡資源的代碼部分。</p><p

48、>  用戶名獲取代碼如下:</p><p>  工作組獲取代碼如下:</p><p>  IP地址獲取代碼如下:</p><p>  局域網(wǎng)內(nèi)實現(xiàn)單播功能</p><p>  在本設計中單播發(fā)送的按鈕為BitBtn2,主要是通過IdUDPServer和IdUDPClient組件來編寫的,由client.SendBuffer語句來發(fā)送的,

49、主要是對局域網(wǎng)內(nèi)部的同一工作組用戶發(fā)送信息。</p><p>  下面是發(fā)送按鈕的代碼部分:</p><p>  由于是單播所以需要指定用戶,而用戶是由ListView中顯示的,則要對其進行顯示并能選取,通過客服端來讓主機服務器響應,實現(xiàn)代碼主要如下:</p><p>  IP地址進行顯示;由工作組進行顯示,最后連接到表Label2中去。</p>&l

50、t;p>  局域網(wǎng)內(nèi)實現(xiàn)廣播功能</p><p>  在本設計中單播發(fā)送的按鈕為BitBtn3,主要是通過IdUDPServer和IdUDPClient組件來編寫的,主要是使用了client.Broadcast來對信息進行發(fā)送的,在發(fā)送時將會把信息發(fā)送給在局域網(wǎng)內(nèi)部的所有用戶包括自己。</p><p>  下面是發(fā)送按鈕的代碼部分:</p><p><b

51、>  歷史信息記錄功能</b></p><p>  為了能讓用戶對歷史的信息進行查看,所以本設計中包含了一個對歷史信息進行記錄的功能,主要是創(chuàng)建一個記事本文件對信息進行復制保存,以下就是歷史信息記錄的代碼:</p><p><b>  系統(tǒng)實施及測試</b></p><p><b>  實施概況</b>&

52、lt;/p><p>  本設計是基于局域網(wǎng)內(nèi)采用C/S結構的即時通信軟件,其主要實現(xiàn)的是單播和廣播功能,還包含了顯示用戶信息、查看歷史信息等輔助功能。本設計是在是Microsoft Windows XP系統(tǒng)上利用編程軟件開發(fā)的,然后再組建的局域網(wǎng)中來進行測試和調試工作,所以最少會用到兩臺或兩臺以上的電腦并由交換機組成一個小型的局域網(wǎng),考慮到一些系統(tǒng)兼容性的問題,所以在內(nèi)部網(wǎng)絡上的每臺計算機上都用的是相同的操作系統(tǒng),在

53、網(wǎng)絡配置方面也是相同的方式。對于編程軟件的選擇主要是采用Delphi7來編寫和編譯程序的,因為考慮到Delphi是具有可視化的一個編程環(huán)境, Delphi它提供了500多個可供使用的構件,利用這些部件可以快速地構造出應用系統(tǒng)。也可以根據(jù)自己的需要修改部件或用Delphi本身編寫自己的部件,能提供方便、快捷的Windows應用程序開發(fā)環(huán)境,本程序也基本是借助與那些組件來編寫的。</p><p><b> 

54、 測試方案</b></p><p>  本程序在Windows XP操作系統(tǒng)下,使用Borland Delphi 7企業(yè)版軟件作為開發(fā)工具,利用Delphi7(企業(yè)版)集成開發(fā)環(huán)境中提供的網(wǎng)絡通訊組件進行編程的,代碼也是在這個開發(fā)環(huán)境中編譯的,并在組建的局域網(wǎng)中進行系統(tǒng)測試的。</p><p>  設計測試的是同在一個局域網(wǎng)中,先將編譯好的程序復制到內(nèi)部網(wǎng)絡上的沒臺計算機上面,

55、然后都將設計的系統(tǒng)打開運行,這是觀察是否能顯示所有的在線用戶的信息,如果了防火墻之類的軟件正在運行的話,很可能不能正常顯示工作組、IP等信息,所以最好是關閉防火墻。如圖11:</p><p>  圖11 顯示在線用戶</p><p>  如果能顯示出來用戶的信息則在其中一臺計算機上的信息窗體中輸入好準備發(fā)送出去的信息“歡迎使用!”,如圖12:</p><p>  圖

56、12 輸入發(fā)送信息</p><p>  如果是想發(fā)送到整的網(wǎng)絡就點擊界面上的廣播按鈕,這時在所有的計算機上都會彈出一個接收的界面,如圖13:</p><p><b>  圖13 接收界面</b></p><p>  點擊查看按鈕則會彈到一個查看信息的界面上,上面會顯示出剛才所發(fā)送的信息和來自于誰,如圖14:</p><p&g

57、t;<b>  圖14 查看界面</b></p><p>  如果是想發(fā)送給網(wǎng)絡中的其中一個用戶就先選擇要發(fā)送的對象再點擊發(fā)送按鈕,這時就只會在那個指定的用戶那里彈出查看的界面了而其他用戶則不會接收到發(fā)送來的信息。</p><p>  要是想對通訊的內(nèi)容進行記錄,則在歷史記錄窗體上選擇保存通訊記錄的路徑,點擊確認按鈕,便會在選擇的路徑里生成一個文本文件用來保存用戶的通

58、訊記錄了,在點擊托盤區(qū)圖標選擇查看記錄,如圖15:</p><p>  圖15 通訊記錄界面</p><p>  最后是退出,退出只能點擊托盤區(qū)的圖標來退出,當關閉了其中一個用戶的時候,其他的用戶列表中自動會將該用戶的用戶信息給刪除,這表明此用戶已經(jīng)下線離開了。</p><p><b>  測試結果</b></p><p&g

59、t;  經(jīng)過多次在局域網(wǎng)中進行測試,本設計的基本功能都在測試中得到了體現(xiàn),下面就是我在整個測試的過程中得到的一些測試結果:</p><p>  在局域網(wǎng)內(nèi)能完整傳輸所發(fā)的信息,不會出現(xiàn)信息丟失或亂碼等情況</p><p>  在測試的時候如果開了防火墻很可能不能顯示工作組,但并不會影響到信息的發(fā)送和接收</p><p>  在發(fā)送廣播信息時是對所有用戶發(fā)送信息,包括

60、自己也會收到廣播信息</p><p>  當進入系統(tǒng)后便能自動更新顯示在線用戶信息,用戶下線時能在顯示列表中也能自動刪除此用戶信息</p><p>  能對用戶在即時的通訊時的通訊信息進行記錄,方便用戶查看歷史的通訊信息</p><p>  通過測試還發(fā)現(xiàn)了用戶只能進行文本格式即時的通訊,不能發(fā)送圖片等格式的信息</p><p>  在發(fā)送信

61、息時沒有能對信息進行加密后在發(fā)送</p><p><b>  結 論</b></p><p>  通過本次課題的研究,認識到即時通訊工具在企業(yè)中起到了重要的作用,本系統(tǒng)實現(xiàn)了顯示在線用戶信息的功能,能夠查看到當前局域網(wǎng)中用戶的在線情況,并且可以對用戶的用戶名、工作組和IP地址的信息進行顯示;能保存歷史記錄的功能,可以方便用戶對歷史信息進行查看;還實現(xiàn)了在局域網(wǎng)內(nèi)

62、部進行收發(fā)單播和廣播信息的功能。解決了傳統(tǒng)通訊工具需要連接遠程服務器來進行信息轉發(fā)的局限性問題,這樣能夠節(jié)約網(wǎng)絡資源,也保證了在信息交流時的安全性,減少了病毒及木馬的感染率。但是系統(tǒng)還有是存在一些不足的地方存在:1、只是單一的傳輸文本信息,還不能對圖片格式等進行傳輸 2、沒有針對信息進行加密發(fā)送,這樣不能保證所發(fā)送和接收的信息百分之百的安全;3、沒有設計用戶登錄界面,使本系統(tǒng)的使用方面還存在安全問題。但是我會在以后的工作學習中逐步解決這

63、些問題,不斷完善這個系統(tǒng),使它更具實用性的。</p><p>  本次課題設計我學到了很多關于網(wǎng)絡通訊方面的知識,也認識到自己的能力,是我從理論走向實踐邁出的堅實的一步。從設計分析到設計編寫直到具體實現(xiàn),在學校所學的理論知識對我有很大的幫助,我也發(fā)現(xiàn)了我的很多不足的地方。總之通過這次畢業(yè)設計,我深深體會到,一個好的程序設計人員必須具有認真、謹慎的作風,堅忍不拔的毅力,并且要不斷的向更高的臺階邁進,我會向著這個方向

64、去努力。</p><p><b>  參考文獻</b></p><p>  [1] 劉華.黑魔方 Delphi 基礎教程[M].北京:清華大學出版社,2004.9。</p><p>  [2] 飛思科技產(chǎn)品研發(fā)中心.Delphi 網(wǎng)絡高級編程[M].北京:電子工業(yè)出版社,2002.1。</p><p>  [3] 施新剛

65、.Delphi 實效編程百例[M].北京:人民郵電出版社,2002.1。 </p><p>  [4] 鮑敏,吳昊.Delphi 網(wǎng)絡高級編程[M].北京:人民郵電出版社,2001.7。 </p><p>  [5] 肖建.Delphi 6 編程基礎[M].北京:清華大學出版社,2002.1。</p><p>  [6] (美)W.Richars Stevens.T

66、CP/IP詳解 卷1:協(xié)議[M]. 北京:機械工業(yè)出版社,2005。</p><p>  [7] (美)Paul Kimmel.Delphi 6 應用開發(fā)指南[M].北京:清華大學出版社,2002.1。</p><p><b>  致 謝</b></p><p>  本文是在趙軍老師的熱情關心和指導下完成的,他淵博的知識和嚴謹?shù)闹螌W作風使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論