畢業(yè)設(shè)計(jì)(論文)-局域網(wǎng)聊天程序的實(shí)現(xiàn).doc_第1頁
畢業(yè)設(shè)計(jì)(論文)-局域網(wǎng)聊天程序的實(shí)現(xiàn).doc_第2頁
畢業(yè)設(shè)計(jì)(論文)-局域網(wǎng)聊天程序的實(shí)現(xiàn).doc_第3頁
畢業(yè)設(shè)計(jì)(論文)-局域網(wǎng)聊天程序的實(shí)現(xiàn).doc_第4頁
畢業(yè)設(shè)計(jì)(論文)-局域網(wǎng)聊天程序的實(shí)現(xiàn).doc_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

局域網(wǎng)的聊天程序的實(shí)現(xiàn)摘要網(wǎng)絡(luò)通訊是目前計(jì)算機(jī)用戶進(jìn)行交流最普遍的方式,各種各樣的聊天軟件也層出不窮;服務(wù)提供商也提供了越來越豐富的通訊服務(wù)功能。本文介紹了在Windows環(huán)境下開發(fā)局域網(wǎng)聊天程序思路和方法。系統(tǒng)使用流行的Delphi7.0開發(fā)軟件,采用Socket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)通訊。數(shù)據(jù)庫使用Delphi自帶的Databasedesktop。系統(tǒng)采用典型的C/S(服務(wù)器/客戶端)構(gòu)架。系統(tǒng)主要實(shí)現(xiàn)了用戶注冊、登錄、聊天、服務(wù)器管理等功能。本系統(tǒng)從需求分析、系統(tǒng)的設(shè)計(jì)、具體功能的實(shí)現(xiàn)都嚴(yán)格遵循了軟件設(shè)計(jì)工程的思想。關(guān)鍵詞:Socket;TCP/IP;C/STheImplementationofLANChattingProgramAbstractNetworkisthemostpopularwayofcommunicationbetweencomputerusers,thereforealotofchattingsoftwarescomeout;ontheotherhand,morecommunicationservicesareprovidedbytheISP.ThispaperintroducestheideasandmethodsofLANchattingprogramwhicharedevelopedonWindows.ThissystemisdevelopedbytheDelphi7.0software,andusestheSockettechnologytoimplementnetworkcommunications.Databaseusingitsowndatabasedesktop.SoftwareisbasedonC/Sarchitecture.Thesystemmainlyimplementsthefunctionsofuserregistration,login,chatting,servermanagementetc.Fromrequirementanalysis,outlinedesign,detaileddesigntocoding,functiontest,theimplementationofthefunctioninthisessayabsolutelyfollowtheprocessofthesoftwaredevelopment.Keywords:Socket;TCP/IP;C/S目錄論文總頁數(shù):22頁1引言.12局域網(wǎng)聊天程序系統(tǒng)分析.12.1系統(tǒng)理論基礎(chǔ).12.1.1TCP/IP的特點(diǎn).12.1.2客戶機(jī)/服務(wù)器模式.22.1.3Socket介紹.32.2系統(tǒng)需求分析.52.3系統(tǒng)設(shè)計(jì)目標(biāo).62.4系運(yùn)行環(huán)境.62.5系統(tǒng)開發(fā)環(huán)境.63局域網(wǎng)聊天程序系統(tǒng)設(shè)計(jì).73.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì).73.2數(shù)據(jù)庫設(shè)計(jì).73.3客戶端服務(wù)器功能設(shè)計(jì).73.4客戶端設(shè)計(jì).83.5服務(wù)器端設(shè)計(jì).93.6聊天中公聊和私聊的設(shè)計(jì).103.7界面設(shè)計(jì).113.7.1客戶端界面設(shè)計(jì).113.7.2服務(wù)器界面設(shè)計(jì).124系統(tǒng)實(shí)現(xiàn)及核心代碼.134.1網(wǎng)絡(luò)通信核心代碼.134.2用戶注冊登錄下線模塊功能代碼.155系統(tǒng)測試.165.1測試方法.165.2測試結(jié)果.175.3測試結(jié)論.175.4程序運(yùn)行截圖.17結(jié)論.錯(cuò)誤!未定義書簽。參考文獻(xiàn).錯(cuò)誤!未定義書簽。致謝.錯(cuò)誤!未定義書簽。聲明.錯(cuò)誤!未定義書簽。第1頁共22頁1引言即時(shí)通訊軟件的出現(xiàn)正在逐漸改變?nèi)藗兊臏贤ㄅc交際方式。無論近在咫尺,還是遠(yuǎn)隔重洋,也只是在鍵盤和鼠標(biāo)之間就可以解決問題。即時(shí)通訊服務(wù)非常適合企業(yè)內(nèi)部或企業(yè)和客戶之間的交流。網(wǎng)絡(luò)聊天程序.越來越影響著我們的網(wǎng)絡(luò)生活。習(xí)慣了通過類似ICQ、QQ、MSN之類的程序和朋友聊天、發(fā)信息,不過所有聊天程序都需要Internet的支持,而無法在局域網(wǎng)內(nèi)部“大顯身手”,那么你是否想到過要讓單位內(nèi)部的員工,寢室周圍的同學(xué),不用上Internet就可以輕松體驗(yàn)到聊天的快樂呢?基于以上原因,開發(fā)局域網(wǎng)聊天程序就有了必要性,讓單位員工或?qū)嬍彝瑢W(xué)不出內(nèi)網(wǎng)就能自由聊天。隨著全球信息化進(jìn)程的不斷發(fā)展,網(wǎng)絡(luò)也在飛速發(fā)展。出于高效、快速地處理各種事務(wù)的目的,越來越多的企業(yè)和單位在其內(nèi)部使用局域網(wǎng)來進(jìn)行工作和交流。在內(nèi)部局域網(wǎng)的幫助下,企業(yè)得以簡化信息流程,提高信息交換的速度,從而提高工作效率。然而,隨著局域網(wǎng)規(guī)模的擴(kuò)大,業(yè)務(wù)量的增加,在局域網(wǎng)上運(yùn)行的應(yīng)用越來越多,如知識庫、網(wǎng)絡(luò)會議、數(shù)據(jù)庫應(yīng)用和數(shù)據(jù)的同步與備份等,這些應(yīng)用對局域網(wǎng)的信息吞吐、處理能力的要求也越來越高。這些在原有局域網(wǎng)設(shè)計(jì)之初未曾考慮到的新情況的出現(xiàn)使得局域網(wǎng)不堪重負(fù),容易發(fā)生信息阻塞,此時(shí),局域網(wǎng)不但不能提高生產(chǎn)效率,反而成為工作效率的瓶頸。為了解決上述矛盾,前輩們提出了許多方法。提升網(wǎng)絡(luò)帶寬及增加服務(wù)器的吞吐能力是解決此矛盾的一種方法。然而,從局域網(wǎng)運(yùn)行的成本方面考慮,無論是單純地提升網(wǎng)絡(luò)帶寬或增加服務(wù)器的吞吐能力都不能從根本上解決局域網(wǎng)資源緊張的問題,對舊有局域網(wǎng)的大規(guī)模硬件改造反而會增加成本的負(fù)擔(dān)?;赟ocket的局域網(wǎng)聊天室是局域網(wǎng)通信軟件的具體實(shí)例之一,它很好地詮釋了Socket通信的原理,并且在局域網(wǎng)部通信、教學(xué)、討論等應(yīng)用中都具有一定的實(shí)用價(jià)值。它具有信息收發(fā)速度快,保密性好,占用網(wǎng)絡(luò)帶寬資源低,占用服務(wù)器吞吐能力低,易于編程實(shí)現(xiàn)等優(yōu)點(diǎn)。2局域網(wǎng)聊天程序系統(tǒng)分析2.1系統(tǒng)理論基礎(chǔ)2.1.1TCP/IP的特點(diǎn)TCP/IP協(xié)議的核心部分是傳輸層協(xié)議(TCP、UDP),網(wǎng)絡(luò)層協(xié)議(IP)和物理接口層,這三層通常是在操作系統(tǒng)內(nèi)核中設(shè)計(jì)。因此用戶一般不涉及。TCP是面向連接的,通信雙方保持一條通路,好比目前的電話線,使用telnet登陸B(tài)BS,第2頁共22頁用的就是TCP協(xié)議;UDP是無連接的,通信雙方都不保持對方的狀態(tài),瀏覽器訪問Internet時(shí)使用的HTTP協(xié)議就是基于UDP協(xié)議的。編程時(shí),編程界面有兩種形式:一、是由內(nèi)核心直接提供的系統(tǒng)調(diào)用;二、使用以庫函數(shù)方式提供的各種函數(shù)。前者為核內(nèi)設(shè)計(jì),后者為核外設(shè)計(jì)。用戶服務(wù)要通過核外的應(yīng)用程序才能設(shè)計(jì),所以要使用套接字(socket)來設(shè)計(jì)。2.1.2客戶機(jī)/服務(wù)器模式C/S結(jié)構(gòu)(Client/Server結(jié)構(gòu))是大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。首先服務(wù)器方要啟動,并根據(jù)請求提供相應(yīng)服務(wù):(1)打開一通信通道并告知本地主機(jī),它在某一公認(rèn)地址端口上(如http為80)接受客戶請求。(2)等待客戶請求到達(dá)該端口。(3)接收到重復(fù)服務(wù)請求,處理該請求并發(fā)送應(yīng)答信號。接收并發(fā)服務(wù)請求,要激活一新進(jìn)程來處理這個(gè)客戶請求。新進(jìn)程處理此客戶請求,并不需要對其他請求做出應(yīng)答。服務(wù)完成后,關(guān)閉此新進(jìn)程與客戶的通信鏈路,并終止。(4)返回第二步,等待另外的客戶請求(5)關(guān)閉服務(wù)器??蛻舴剑海?)打開一通信通道,并連接到服務(wù)器所在主機(jī)的特定端口。(2)向服務(wù)器發(fā)出服務(wù)請求報(bào)文,等待并接收應(yīng)答;繼續(xù)提出請求。(3)請求結(jié)束后關(guān)閉通信通道并終止。從上面的描述過程可知:(1)客戶與服務(wù)器進(jìn)程的作用是非對稱的。因此編碼不同。(2)服務(wù)進(jìn)程一般是先于客戶請求啟動的。只要系統(tǒng)運(yùn)行,該進(jìn)程一直存在,直到正常終止或者強(qiáng)迫終止。在TCP/IP網(wǎng)絡(luò)中兩個(gè)進(jìn)程間的相互作用的主機(jī)模式是客戶機(jī)/服務(wù)器模式(Client/Servermodel)。該模式的建立基于以下兩點(diǎn):1、非對等作用;2、通信完第3頁共22頁全是異步的??蛻魴C(jī)/服務(wù)器模式在操作過程中采取的是主動請求服務(wù)響應(yīng)的方式,如圖1所示:客戶端A客戶端B服務(wù)器:監(jiān)聽局域網(wǎng)請求A請求B響應(yīng)B響應(yīng)A請求A響應(yīng)A響應(yīng)B請求B圖1客戶端服務(wù)器模式2.1.3Socket介紹Socket是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規(guī)范,最初是由美國加州Berkley大學(xué)提出,它定義兩臺計(jì)算機(jī)間進(jìn)行通信的規(guī)范(也是一種編程規(guī)范),如果說兩臺計(jì)算機(jī)是利用一個(gè)“通道”進(jìn)行通信,那么這個(gè)“通道”的兩端就是兩個(gè)套接字。套接字屏蔽了底層通信軟件和具體操作系統(tǒng)的差異,使得任何兩臺安裝了TCP協(xié)議軟件和實(shí)現(xiàn)了套接字規(guī)范的計(jì)算機(jī)之間的通信成為可能。微軟的WindowsSocket規(guī)范(簡稱Winsock)對Berkley的套接字規(guī)范進(jìn)行了擴(kuò)展,利用標(biāo)準(zhǔn)的Socket的方法,可以同任何平臺上的Socket進(jìn)行通信;利用其擴(kuò)展,可以更有效地實(shí)現(xiàn)在Windows平臺上計(jì)算機(jī)間的通信。Socket減輕了編寫計(jì)算機(jī)間通信

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論