【正文】
的特點(diǎn): TCP/IP( Transmission Control Protocol/Inter Protocol)是傳輸控制協(xié)議 /網(wǎng)際協(xié)議的縮寫 , TCP/IP 是當(dāng)今網(wǎng)絡(luò)互聯(lián)的核心協(xié)議。 JSP 對于在 Web 應(yīng)用中集成 JavaBeans 組件提供了完善的支持。 工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專用紙 5 JAVA 語言在網(wǎng)絡(luò)上的應(yīng)用 Java 程序可以獲取網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、聲音、 HTML 文檔及文本等資源,并可以對獲得的資源進(jìn)行處理。 I/O,包括文件系統(tǒng)、 網(wǎng)絡(luò)、輸入 Socket 編程。并且 Java 通過接口來支持多重繼承,使之比嚴(yán)格 的類繼承具有更靈活的方式和擴(kuò)展性。 多線程機(jī)制使應(yīng)用程序能夠并行執(zhí)行,而且同步機(jī)制保證了對共享數(shù)據(jù)的正確操作。另外, Java 編譯器是由 Java 語言實(shí)現(xiàn)的, Java 運(yùn)行時(shí)系統(tǒng)由標(biāo)準(zhǔn) C實(shí)現(xiàn),這使得 Java 系統(tǒng)本身也具有可移植性。 Java 不支持指針, 一切對內(nèi)存的訪問都必須通過對象的實(shí)例變量來實(shí)現(xiàn),這樣就防止程序員使用 “特洛伊”木馬等欺騙手段訪問對象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。 Java 語言的設(shè)計(jì)集中于對象及其接口,它提供了簡單的類機(jī)制以及動(dòng)態(tài)的接口模型,實(shí)現(xiàn)了模塊化 和信息隱藏;而類則提供了一類對象的原型,并且通過繼承機(jī)制,子類可以使用父類所提供的方法,實(shí)現(xiàn)了代碼的復(fù)用。信息的價(jià)值在于使用和共享, Inter 和 Web 是信息的使用和共享最快捷、最便宜的方式, Word 將演化成為 Web 寫作工具 , Excel 則將演化成Web 電子表格。在單機(jī)時(shí)代,程序進(jìn)程之間靠共享存儲(chǔ)進(jìn)行變量交換;在網(wǎng)絡(luò)時(shí)代,運(yùn)行在不同主機(jī)上的程 序按網(wǎng)絡(luò)協(xié)議進(jìn)行二進(jìn)制字符流交換,語義由交換雙方維護(hù);在 Java時(shí)代,運(yùn)行在網(wǎng)絡(luò)上的程序進(jìn)程交換的是小應(yīng)用程序。用戶不管使用何種類型的機(jī)器和操作系統(tǒng),界面是統(tǒng)一的 Web 瀏覽器,而數(shù)據(jù)庫、 Web 頁面、應(yīng)用程序則存在 WEB 服務(wù)器上。如: Borland公司的基于 Java 的快速應(yīng)用程序開發(fā)環(huán)境 Latte; Metrowerks 公司和Natural Intelligence公司分別開發(fā)的基于 Machintosh的 Java開發(fā)工具;Sun 公司的 Java 開發(fā)環(huán)境 JavaWorkshop; Microsoft 也開發(fā)出系列 Java產(chǎn)品。于是 Gosling 決定用 Java 開發(fā)一個(gè)新的 Web 瀏覽器。通常情況下,這樣的項(xiàng)目在 Sun 公司要 75 個(gè)人干三年。 Patrick Naughton 也是 Sun 公司的技術(shù)骨干,曾經(jīng)是 OpenWindows 項(xiàng)目的負(fù)責(zé)人。 Gosling 在開始寫 Java 時(shí),并不局限于擴(kuò)充語言機(jī)制本身,更注重于語言所運(yùn)行的軟硬件環(huán)境。 Java 正在逐步成為 Inter 應(yīng)用中最主要的開發(fā)語言,它徹底改變了軟件開發(fā)模式,帶來了自 PC 機(jī)以來又一次革命,為飛速發(fā)展的網(wǎng)絡(luò)世界增添了新的動(dòng)力。本文所介紹的網(wǎng)絡(luò)聊天系統(tǒng)是基于 JAVA 編程語言開發(fā)設(shè)計(jì)的,其主要特性是能動(dòng)態(tài)、實(shí)時(shí)的完成消息的傳遞,且具有高效的交互性,能更有效的處理客戶請求,其運(yùn)行時(shí)所需環(huán)境及工作流程和各模塊的工作原理將在本文依次介紹,并且文中提供了全部程序源代碼。 11 3 JAVAqq 局域網(wǎng)聊天程序的系統(tǒng)分析與設(shè)計(jì) ................................................................... 13 JAVA局域網(wǎng)聊天程序的總體設(shè)計(jì)要點(diǎn) 11 需求分析 7 對等網(wǎng)絡(luò)發(fā)展歷史 ............................................................................................... 7 對等網(wǎng)絡(luò)的概念 ................................................................................................... 7 對等網(wǎng)絡(luò)的主要系統(tǒng)結(jié)構(gòu) ................................................................................... 8 2 JAVAqq 局域網(wǎng)聊天程序的需求分析 ............................................................................... 11 課題來源 5 IP/TCP 協(xié)議常識 P2P 計(jì)算正是這種分散工作趨勢的結(jié)果。 即時(shí)通訊軟件,是每一個(gè)上網(wǎng)用戶都需要的工具,它除了能夠讓您迅速地在網(wǎng)上找到自己的朋友和伙伴之外,還可以實(shí)時(shí)交談和傳遞信息,截止到目前,全球約有近 3 億多人使用即時(shí)軟件,正因?yàn)榧磿r(shí)通訊軟件擁有數(shù)以億計(jì)的用戶和增長的市場,所以各個(gè)公司都盯上了這個(gè)最大的市場,一時(shí)間,即時(shí)通訊市場硝煙四起。目前,出現(xiàn)了很多功能強(qiáng)大的聊天工具,其中應(yīng)用比較廣泛的有騰訊 、 MSNMessager 等等。以下是導(dǎo)致 P2P 技術(shù)發(fā)展最重要的趨勢 :首先,一些新技術(shù)與軟件工程的結(jié)合,形成了一種將工作分散的趨勢。 關(guān)鍵詞: 局域網(wǎng) 聊天 P2P java ii Abstract With the development of the Inter, the chat tool as a munication tool, has been popularly accepted by izens of all ages. At present, there are many powerful chat tools, of which Tencent , MSNMessager are much more prevalent. Instant messaging software is necessary for every one who connects to the inter, which can not only provide you a prompt way to find friends and partners online, but can provide you the convenience of inter relay chat and information delivering. Up to now, there are about 300 million people using realtime software all over the world. As more and more corporations have focused on this market with growing potential, which has hundreds of millions of uses, the petitions among these corporations are extremely fierce. The initial application of peertopeer work (peertopeer, referred to as P2P) is not the same as it is now. In fact, it can be regarded as a bination of different technologies and fashion trends. Below are the most important trends that have led the development of P2P technology: First of all, the integration of software engineering and new technologies led to a working dispersion trend. As a result, P2P puting was born. Then, in the past decade, it has turned fro m a single centralized system to distributed system due to the motivation of factors such as enterprise application integration. At last, with the development of the Inter, however, a prehensive distributed puting has bee an urgent need. Keywords: LAN chat P2P java 目 錄 摘 要 ..................................................................................................................................... i Abstract ..................................................................................................................................... ii 1 緒論 ..................................................................................................................................... 1 JAVA 的網(wǎng)絡(luò)功能與編程 5 SOCKET的簡介 6 對等網(wǎng)絡(luò) 13 JAVA局域網(wǎng)聊天程序的設(shè)計(jì)步驟及功能模塊劃分 13 JAVA局域網(wǎng)聊天程序各功能模塊 14 4 JAVAqq 局域網(wǎng)聊天程序的設(shè)計(jì)與實(shí)現(xiàn) ........................................................................... 23 開發(fā)環(huán)境工具 本系統(tǒng)以聊天功能為主,通過網(wǎng)絡(luò)為用戶提供一個(gè)人際交流的平臺(tái)。不論你使用的是哪種 WEB瀏覽器,哪種計(jì)算機(jī),哪種操作系統(tǒng),只要 WEB 瀏覽器上面注明了“支持Java” ,并且裝有 JAVA 控件,你就可以看到生動(dòng)的主頁。在研發(fā)過程中, Gosling 深刻體會(huì)到消費(fèi)類電子產(chǎn)品和工作站產(chǎn)品的差異:消費(fèi)類電子產(chǎn)品要求可靠性高、費(fèi)用低、標(biāo)準(zhǔn)化、使用簡單。這樣一來, Java 就成了跨平臺(tái)語言。它是由一個(gè)操作系統(tǒng)、一種語言、一個(gè)用戶界面、一個(gè)新的硬件平臺(tái)、三塊專用芯片構(gòu)成的。 Gosling 意識到inter 需要一個(gè)瀏覽器,它不依賴于任何平臺(tái),它應(yīng)是一種實(shí)時(shí)性較高、可靠安全、又有交互功能的瀏覽器。 眾 多的軟件開發(fā)商也開發(fā)了許多支持 Java 的軟件產(chǎn)品。它的優(yōu)點(diǎn)表現(xiàn)在:便宜、易于使用和管理 。 Java 的出現(xiàn)是計(jì)算機(jī)信息交換的一個(gè)重要里程碑。隨著互聯(lián)網(wǎng)的發(fā)展,軟件必然是面向大眾的,薄利多銷將是網(wǎng)絡(luò)應(yīng)用軟件的重要特點(diǎn)。 Java 略去了運(yùn)算符重載、多重繼承等模糊的概念 ,且通過實(shí)現(xiàn)自動(dòng)垃圾收集大大簡化了程序設(shè)計(jì)者的內(nèi)存管理工作。 用于網(wǎng)絡(luò)、分布環(huán)境下的 Java 必須要防止病毒的入侵。 與平臺(tái)無關(guān)的特性使 Java 程序可以方便地被移植到網(wǎng)絡(luò)的不同機(jī)器工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專用紙 4 上。 和其它解釋執(zhí) 行的語言如 BASIC 不同, Java 字節(jié)碼的設(shè)計(jì)使之能很容易地直接轉(zhuǎn)換成對應(yīng)于特定 CPU 的機(jī)器碼,從而得到較高的性能。在類庫中可以自由地加入 新的方法和實(shí)例變量而不會(huì)影響用戶程序的執(zhí)行。 、堆棧、可變數(shù)組、時(shí)間和日期等。它支持 URL 連接 ,WEB 即時(shí)訪問 ,并且簡化了 C/S 模型的程序設(shè)計(jì)。 JSP 通過 JavaBeans 來擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送 以及將業(yè)務(wù)處理或復(fù)雜計(jì)算分離出來成為獨(dú)立可重復(fù)利用的模塊。由于 JavaBeans 開發(fā)起來簡單,又可以利用 Java 語言的強(qiáng)大功能,許多動(dòng)態(tài)頁面處理過程實(shí)際上被封裝到了JavaBeans 中。第二,提供不可靠的無連接的服務(wù)。 實(shí)現(xiàn)了高層協(xié)議的標(biāo)準(zhǔn)化,能為用戶提供多種可靠的服務(wù)。 (3)端口號: 有的時(shí)候,一個(gè) IP 地址不能完整的標(biāo)識一臺(tái)服務(wù)器,這是應(yīng)為一臺(tái)物理性的計(jì)算機(jī)同時(shí)運(yùn)行著多個(gè)應(yīng)用程序,這就需要我們來區(qū)別同一臺(tái)機(jī)子上的不同的服務(wù),所以就在傳輸層和應(yīng)用層上設(shè)置接口,就是端口。也就是說網(wǎng)絡(luò)