【正文】
植性。這樣一來(lái), Java 就成了平臺(tái)無(wú)關(guān)語(yǔ)言。他要建立一個(gè)系統(tǒng),這個(gè)系統(tǒng)運(yùn)行于一個(gè)巨大的、分布的、異構(gòu)的網(wǎng)格環(huán)境中,完成各電子設(shè)備之間的通信與協(xié)同工作。但是 Gosling在改寫(xiě)過(guò)程中感到僅 C 是無(wú)法滿足需要的,于是在 1991 年 6 月份開(kāi)始準(zhǔn)備開(kāi)發(fā)一個(gè)新的語(yǔ)言,那么給它起一個(gè)什么名字呢 ?Gosling 回首向窗外望去,看見(jiàn)一棵老橡 樹(shù),于是建一個(gè)目錄叫 Oak,這就是 Java 語(yǔ)言的前身(后來(lái)發(fā)現(xiàn) Oak 已是 Sun 公司另一個(gè)語(yǔ)言的注冊(cè)商標(biāo),才改名為 Java,即太平洋上一個(gè)盛產(chǎn)咖啡的島嶼的名字)。 在研究開(kāi)發(fā)過(guò)程中, Gosling 深刻體會(huì)到消費(fèi)類(lèi)電子產(chǎn)品和工作站產(chǎn)品在開(kāi)發(fā)哲學(xué)上的差異:消費(fèi)類(lèi)電子產(chǎn)品要求可靠性高、費(fèi)用低、標(biāo)準(zhǔn)化、使用簡(jiǎn)單,用戶并不關(guān)心 CPU 的型號(hào),也不欣賞專用昂貴的 RISC 處理器,他們需要建立在一個(gè)標(biāo)準(zhǔn)基礎(chǔ)之上,具有一系列可選的方案,從 8086 到 80586 都可以選取。他是 SunNeWs窗口系統(tǒng)的總設(shè)計(jì)師。該小組的領(lǐng)導(dǎo)人是 JamesGosling,是一位非常杰出的程序員。 Sun 的 Java 語(yǔ)言開(kāi)發(fā)小組成立于 1991 年,其目的是開(kāi)拓消費(fèi)類(lèi)電子產(chǎn)品市場(chǎng),例如,交互式電視、 烤面包箱等。 Java 正在逐步成為 Inter 應(yīng)用的主要開(kāi)發(fā)語(yǔ)言。使用它可在各式各樣不同種機(jī)器、不同種操作平臺(tái)的網(wǎng)絡(luò)環(huán)境中開(kāi)發(fā)軟件。最近的一次輪回就是從 Java開(kāi) 始。本文所介紹的網(wǎng)絡(luò)聊天系統(tǒng)是基于開(kāi)放的 JAVA 應(yīng)用程序開(kāi)發(fā)設(shè)計(jì)的,其主要特性是能動(dòng)態(tài)、實(shí)時(shí)的完成信息的傳遞,且具有高效的交互性,更有效的處理客戶請(qǐng)求,易于維護(hù)和更新,其運(yùn)行所需環(huán)境及其工作流程和各個(gè)功能控件的工作原理將在本文依次介紹,并且文中提供了部分程序源代碼。經(jīng)過(guò)分析這些情況,該局域網(wǎng)聊天工具采用 Eclipse 為基本開(kāi)發(fā)環(huán)境和 java語(yǔ)言進(jìn)行編寫(xiě),首先可在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行不斷修正和改進(jìn),直到形成可行系統(tǒng) 關(guān)鍵詞: 局域網(wǎng) 聊天 socket java Abstract Along with the fast development of Inter, the work chating tool has already bee one kind of important munication tools and received more and more web cams favor. At present, many extremely good chating tools have appeared . for example, Netmeeting, , MSNMessager and so on. This system development mainly includes two aspects of the server procedure of the work chat and the customer procedure of the work chat. The former establishes the server through the Socket, the server can read and deliver the information which client side sends, and can renovate the users tabulation. The latter make a connection with the server, carries on munication between the client side and the client side. With the LAN correspondence mechanism principle, through inheritting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge which the puter work programmes. for example, TCP/IP agreement, Client/Server pattern, work programming design method and so on. In the work programming, it realizes reading and transmission of the information, that is,informaton flows realize the information exchange, introduce information flow analysis for realizing a system, in which containes some basic software engineering methods. After analyzes these situations, this LAN chating tool takes Eclipse as the basic development environment and piles in java language. first, it will establish the system application prototype in a short time. then, for the initial prototype system, it needs constantly revised and improved, until a viable system. Key words: LAN Chat Socket Java 目 錄 1. 緒論 ??????????????????????? ??????? 01 JAVA 的 網(wǎng)絡(luò)功能與編程 ??????? ????? ??????? 01 JAVA 概述 ? ??????????? ????? ???????? 02 JAVA 的特點(diǎn) ?????????? ????? ???? ???? 04 JAVA 語(yǔ)言在 網(wǎng)絡(luò)上的應(yīng)用 ???? ????? ????? ??? 07 JavaBeans 技術(shù) ??????? ??? ???? ????? ???? 08 IP/TCP 協(xié)議常識(shí) ????????? ???? ????? ???? 08 Socket 的簡(jiǎn)介 ????????? ????? ????? ???? 09 2. 規(guī)劃設(shè)計(jì) ???????? ??????? ???????? ????? 11 課題來(lái)源 ? ?????? ???? ????????? ?????? 11 需求分析 ?????? ???? ???????? ??????? 11 3. 系統(tǒng)分析與設(shè)計(jì)方案 ? ???? ??????? ???? ??????? 12 聊天 系統(tǒng)的總體設(shè)計(jì)要點(diǎn) ?? ???? ???? ???????? 12 聊天系統(tǒng)的設(shè)計(jì)步驟及功能模塊劃分 ? ???? ?? ? ?????? 12 功能模塊結(jié)構(gòu)圖 ???????????? ?? ?? ?????? 13 4. 系統(tǒng)設(shè)計(jì)環(huán)境與測(cè)試 ??????????? ??? ??? ????? 26 開(kāi)發(fā)環(huán)境和工具 ?????????? ???? ? ??????? 26 硬件環(huán)境 ?????????????? ???? ? ??????? 26 聊天系統(tǒng)的測(cè)試 ????????? ????? ???? ???? 26 5. 畢業(yè)設(shè)計(jì)總結(jié) ????????????? ????? ?? ?????? 28 畢業(yè)設(shè)計(jì)總結(jié)和展望 ??????? ????? ???????? 28 經(jīng)驗(yàn)和感想 ???????????? ????? ???????? 28 致 謝 ???????????????? ???? ????????? 30 參考文獻(xiàn) ??????????????? ???? ????????? 31 1 緒論 隨著互聯(lián)網(wǎng)逐步普及,人們的生活和工作也越來(lái)越離不開(kāi)信息網(wǎng)絡(luò)的支持, 而聊天室是人們最常見(jiàn), 最直接的網(wǎng)上交 流的方式。開(kāi)發(fā)中利用了計(jì)算機(jī)網(wǎng)絡(luò)編程的基本理論知識(shí) ,如 TCP/IP 協(xié)議、客戶端 /服務(wù)器端模式( Client/Server 模式)、網(wǎng)絡(luò)編程的設(shè)計(jì)方法等。后者通過(guò)與服務(wù)器建立連接,來(lái)進(jìn)行客戶端與客戶端的信息交流。該系統(tǒng)開(kāi)發(fā)主要 包括一個(gè)網(wǎng)絡(luò)聊天服務(wù)器程序和一個(gè)網(wǎng)絡(luò)聊天客戶程序兩個(gè)方面。 本科畢業(yè)論文 基于 JAVA的聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 院:機(jī)電工程學(xué)院 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)雙學(xué)位 學(xué) 號(hào): 043545464 姓 名: 指導(dǎo)教師:李美安 職 稱:教授 論文提交日期:二 ОО 八年四月 摘 要 隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)聊天工具已經(jīng)作為一種重要的信息交流工具,受到越來(lái)越多的網(wǎng)民的青睞。目前,出現(xiàn)了很多非常不錯(cuò)的聊天工具,其中應(yīng)用比較廣泛的有 Netmeeting、騰訊 、 MSNMessager 等等。前者通過(guò) Socket 套接字建立服務(wù)器,服務(wù)器能讀取、轉(zhuǎn)發(fā)客戶端發(fā)來(lái)信息,并能刷新用戶列表。其中用到了局域網(wǎng)通信機(jī)制的原理,通過(guò)直接繼承 Thread 類(lèi)來(lái)建立多線程。在網(wǎng)絡(luò)編程中對(duì)信息的讀取、發(fā)送,是利用流來(lái)實(shí)現(xiàn)信息的交換,其中介紹了對(duì)實(shí)現(xiàn)一個(gè)系統(tǒng)的信息流的分 析,包含了一些基本的軟件工程的方法。本聊天系統(tǒng)以聊天交流為主,為廣大用戶提供一個(gè)借助網(wǎng)絡(luò)進(jìn)行人際交往的平臺(tái),也是網(wǎng)絡(luò)與現(xiàn)實(shí)最貼近的實(shí)用型網(wǎng)站。 JAVA 的網(wǎng)絡(luò)功能與編程 JAVA 概述 美國(guó)硅谷有一句行話,每 10年~ 15 年有一次輪回。 Java 是一個(gè)由 Sun公司開(kāi)發(fā)而成的新一代編程語(yǔ)言。不論你使用的是哪一種 WWW 瀏覽器,哪一種計(jì)算機(jī),哪一種操作系統(tǒng),只要 WWW 瀏覽器上面注明了“支持 Java”,你就可以看到生動(dòng)的主頁(yè)。它徹底改變了應(yīng)用軟件的開(kāi)發(fā)模式,帶來(lái)了自 PC 機(jī)以來(lái)又一次技術(shù)革命,為迅速發(fā)展的信息世界增添了新的活力。 Sun 內(nèi)部人員把這個(gè)項(xiàng)目稱為 Green,那時(shí)WorldWideWeb 還在圖紙上呢。他出生于 1957 年,于 1984 年加盟 SunMicrosystem 公司,之前在一家IBM研究機(jī)構(gòu)工作。也是第一個(gè)用 C實(shí)現(xiàn)的 EMACS的文本編輯器 COSMACS 的開(kāi)發(fā)者。 從 C開(kāi)始 為了使整個(gè)系統(tǒng)與平臺(tái)無(wú)關(guān), Gosling 首先從改寫(xiě) C 編譯器著手。 Gosling 在開(kāi)始寫(xiě) Java 時(shí),并不局限于擴(kuò)充語(yǔ)言機(jī)制本身,更注重于語(yǔ)言所運(yùn)行的軟硬件環(huán)境。 Gosling 在設(shè)計(jì)中采用了虛機(jī)器碼( VirtualMachineCode)方式,即 Java 語(yǔ)言編譯后產(chǎn)生的是虛擬機(jī),虛擬機(jī)運(yùn)行在一個(gè)解釋器上,每一個(gè)操作系統(tǒng)均有一個(gè)解釋器。這和 Gosling 設(shè)計(jì)的 SunNeWs 窗口系統(tǒng)有著 相同的技術(shù)味道。 PatrickNaughton 也是 Sun 公司的技術(shù)骨干,曾經(jīng)是 OpenWindows 項(xiàng)目的負(fù)責(zé)人。經(jīng)過(guò) 17 個(gè)月的奮戰(zhàn),整個(gè)系統(tǒng)勝利完成。通常情況下,這樣的項(xiàng)目在 Sun 公司要 75 個(gè)人干三年。許多參觀者對(duì) Java 留下了非常深刻的印象,特別得到 Sun的兩位領(lǐng)導(dǎo)人 ScottMcNealy 和 BillJoy 的關(guān)注,但 Java 的前途未卜。 Gosling 意識(shí)到 WWW 需要一個(gè)中性的瀏覽器,它不依賴于任何硬件平臺(tái)和軟件平臺(tái),它應(yīng)是一種實(shí)時(shí)性較高、可靠安全、有交互功能的瀏覽器。 這項(xiàng)工作由 Naughton 和 JonathanPayne 負(fù)責(zé)