資源描述:
《基于tcpip協(xié)議的網(wǎng)絡(luò)聊天程序服務(wù)端設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、目錄1前言21.1課程設(shè)計的目的31.2Java簡介32需求分析42.1功能需求分析52.2數(shù)據(jù)需求分析52.3性能需求分析52.4運行需求分析63相關(guān)原理分析63.1TCP/IP參考模型63.2TCP的建立83.3TCP傳輸原理93.4套接字的客戶端93.5C/S模式104總體設(shè)計115詳細設(shè)計125.1服務(wù)端設(shè)計135.2客戶端的設(shè)計145.3協(xié)議的設(shè)計155.4多線程155.5線程池165.6非堵塞I/O166調(diào)試177結(jié)束語20參考文獻22附錄:設(shè)計程序清單22基于TCP/IP的網(wǎng)絡(luò)聊天程序
2、服務(wù)端設(shè)計摘要本課程設(shè)計的目標(biāo)是基于Eclipse技術(shù)實現(xiàn)一個點對點通信程序,其工作機制模仿即時通信軟件的基本功能,包括登陸,上線,傳遞信息等等。采用TCP/IP原理,分別為客戶端和服務(wù)器端完成基本數(shù)據(jù)配置,實現(xiàn)網(wǎng)絡(luò)聊天功能。在設(shè)計過程中,主要采用Eclipse編程環(huán)境,使用Java語言進行程序的編寫,程序通過調(diào)試運行并且經(jīng)過完善后,初步實現(xiàn)了設(shè)計的目標(biāo),能很好地在局域網(wǎng)環(huán)境實現(xiàn)即時聊天。關(guān)鍵字Java語言;Eclipse;TCP/IP;套接字;C/S工作模式1前言21世紀(jì)是網(wǎng)絡(luò)的世界,現(xiàn)在網(wǎng)絡(luò)發(fā)展
3、的不可估量了,它可以包括我們生活中的方方面面,小到上網(wǎng)購物、查找資料,大到網(wǎng)上理財、網(wǎng)上會議,可以說網(wǎng)絡(luò)把我們的世界變小了,即使在天涯海角,有網(wǎng)絡(luò)的地方我們就可以隨時聯(lián)系。最簡單的形式就是進行網(wǎng)絡(luò)聊天了,這個很簡單的聊天工具,可以隨時拉近你我的距離[1]。本設(shè)計將基于TCP/IP協(xié)議和局域網(wǎng)環(huán)境,使用Java和Eclipse實現(xiàn)一個即時聊天程序。1.1課程設(shè)計的目的本課程設(shè)計主要采用Eclipse編程環(huán)境,使用Java語言編寫程序,通過調(diào)試運行并且經(jīng)過完善后,初步實現(xiàn)了設(shè)計的目標(biāo),能很好地在局域網(wǎng)環(huán)
4、境實現(xiàn)即時聊天。1.2Java簡介Java是由SunMicrosystems公司于1995年5月推出的Java程序設(shè)計語言(以下簡稱Java語言)和Java平臺的總稱。用Java實現(xiàn)的HotJava瀏覽器(支持Javaapplet)顯示了Java的魅力:跨平臺、動態(tài)的Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Javaapplet。另一方面,Java技術(shù)也不斷更新。Java平臺由Java虛擬機(JavaVirtualMachine)和Java
5、應(yīng)用編程接口(ApplicationProgrammingInterface、簡稱API)構(gòu)成。Java應(yīng)用編程接口為Java應(yīng)用提供了一個獨立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應(yīng)用程序就可運行。現(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。Java應(yīng)用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的Java平臺基于Java1.5,最近版本為Java1.7。Java是一種簡
6、單的,面向?qū)ο蟮?,分布式的,健壯的,安全的,體系結(jié)構(gòu)中立的,可移植的,解釋型的,高性能的,多線程的,動態(tài)的語言。Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護費用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時間并降低成本。Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(JavaEnterpriseAPIs)為企業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提
7、供有關(guān)技術(shù)和豐富的類庫[5]。1.3Eclipse簡介Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。Eclipse最初是由IBM公司開發(fā)的替代商業(yè)軟件VisualAgeforJava的下一代IDE開發(fā)環(huán)境,2001年11月貢獻給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會(Ecl
8、ipseFoundation)管理。Eclipse是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由Eclipse項目、Eclipse工具項目和Eclipse技術(shù)項目三個項目組成,具體包括四個部分組成——EclipsePlatform、JDT、CDT和PDE.JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),EclipsePlatform則是一個開放的可擴展IDE,提供了一個通用的開發(fā)平臺。它提