【正文】
基于 Java 的 聊天室程序設計 CHAT ROOM PROGRAMMING BASED ON JAVA 專 業(yè): 計算機科學與技術 姓 名: 指導教師姓名: 申請學位級別: 學 士 論文提交日期: 學位授予單位: 天津科技大學 I 摘 要 網絡聊天室是一種應用廣泛的網絡聊天方式,操作簡單,功能豐富,是教學和學習面向對象的編程思 想的理想項目??梢允褂枚喾N編程語言和開發(fā)功能完善網絡聊天室。 本畢業(yè)設計論文介紹用 Java 語言設計和實現(xiàn)一個網絡聊天室的過程,本系統(tǒng)采用 C/S 架構設計,整個項目分為服務器端和客戶端。使用最新 Java2 標準Swing 組件,開發(fā)出簡潔美觀和布局合理的用戶和服務器界面;利用 Socket 網絡開發(fā)急速實現(xiàn)客戶端和服務器端的連接訪問,實現(xiàn)網絡功能;通過對數(shù)據流操作的合理設計,實現(xiàn)信息傳遞、接受和數(shù)據保存。同時采用多線程、多任務的設計思想開發(fā)出性能穩(wěn)定,功能全面的服務器。完整的實現(xiàn)系統(tǒng)的功能。 該聊天室工具主要解決了兩方 面的問題。服務器端和客戶端。在服務器端可以實現(xiàn)如下功能:能夠處理用戶的注冊;通過身份驗證方式處理用戶登錄;可以向所有在線用戶廣播信息;對于不良聊天人士給予警告或者趕出聊天室;刪除長久不使用的用戶信息;配有操作文檔;及時接收用戶的服 務請求幫助。在客戶端可以實現(xiàn)如下功能:聊天信息的傳輸,支持私聊 , 支持表情 等功能。 關鍵詞: 聊天室; Java; Swing 組件; Socket 技術 II ABSTRACT The work chat room is a kind of applied extensive work chat method, operate in case and the function is abundant, It can be used as a good case for learning of Java design language and the ObjectOriented Programming language, There is many programming language of design to develop a work chat room with perfect function. This graduation thesis of design introduction how to use the Java language design and carry out work chat room, The system adoption the C/S structure design, the whole system is divided into the server and client. Used standard modules of Swing of latest Java2, develop a simple and direct beauty user interface, We make use of the Socket technology to interconnect the server and client by work。 anize the data by good design of data stream to sent or accept the message between users and to record the message for data ever。 we also use the multithread to make the program with many function. This chat room’s tool will solve two main problems, one is server and the other is customer. It will obtain following functions with server: handing the registration of customer。 passing verification of body method。 processing customer logging。 broadcasting information to online customers。 warning and evicting bad chat personage out of chat room 。 deleting longlast the customer information。 having operating text。 accepting customer’s serving requests. It will obtain following functions with customer: delivering the chat information。 supporting private chat。 supporting the facial expression。 ect. Key words: chat; Java; Swing ponent; Socket III 目 錄 第一章 系統(tǒng)開發(fā)的意義及需求分析 ................................................ 1 第一節(jié) 課題來源 .............................................................................. 1 第二節(jié) 需求分析 .............................................................................. 1 第二章 系統(tǒng)開發(fā)技術 ...................................................................... 2 第一節(jié) Java 的網絡功能與編程 ....................................................... 2 第二節(jié) IP/TCP 協(xié)議常識 .................................................................. 3 第三節(jié) Socket 的簡介 ...................................................................... 3 第四節(jié) Swing 的簡介 ....................................................................... 6 第五節(jié) C/S 結構 ............................................................................... 7 第三章 系統(tǒng)分析與設計方案 ........................................................... 9 第一節(jié) 開發(fā)環(huán)境及工具 ................................................................... 9 第二節(jié) 聊天系統(tǒng)的總體設計要點 .................................................... 9 第三節(jié) 系統(tǒng)的功能模塊劃分及設計原理 ....................................... 11 第四章 系統(tǒng)實現(xiàn)與最終效果 ..........................................................26 第一節(jié) 系統(tǒng)工作的過程 ..................................................................26 第二節(jié) 使用方法 .............................................................................26 第三節(jié) 各功能模塊運行效果 ..........................................................26 第四節(jié) 功能模塊測試 .....................................................................32 第五章 總 結 ..................................................................................33 IV 第一節(jié) 畢業(yè)設計總結和展望 ..........................................................33 第二節(jié) 經驗和感想 .........................................................................33 參考文 獻 ............................................................................................35 致 謝 ...............................................................................................36 天津科技大學 2021 屆本科生畢業(yè)設計 1 第一章 系統(tǒng)開發(fā)的意義及需求分析 第一節(jié) 課題來源 根據當前網絡的需求,網絡聊天越來越受到各種網民所青睞。因此開發(fā)網絡聊天是相當有必要,而且在網站內增加聊天功能,它不僅可以提高網站的訪問量,同時可以留著訪客,更重要的是讓訪客透過聊天室實時的互相交流。而本人也學習過 Java 語言,對網絡編 程也較有興趣,為了更好的考驗自己對 Java 語言的掌握程度,本人就決定以《基于 Java 的網絡聊天室》為畢業(yè)設計,希望通過這一次能進一步提高本人的網絡開發(fā)編程的能力。 第二節(jié) 需求分析 聊天系統(tǒng)不外乎兩個方面,服務器端和客戶端。簡單分析一下兩個方面所要完成的任務,對設計這個程序來說,等于完成了一半。首先來看一下服務器。 服務器端的任務: 服務器端應當建立一個 ServerSocket,并且不斷進行偵聽是否有客戶端連接或者斷開連接。 服務器端應當是一個信息發(fā)送中心,所有客戶端的信息都傳到服務器端,由服務器端根據要求分發(fā)信息。 以上就是服務器端最主要的兩個任務。不難看出,服務器端的任務并不復雜。 客戶端應該完成的工作包括: 與服務器端建立通信通道,向服務器端發(fā)送信息。 接收來自服務器的信息。 相對服務器而言,客戶端的任務更加簡單,有了以上的簡單分析,可以知道,解決上述四個問題,即完成了該聊天系統(tǒng)的核心。 天津科技大學 2021 屆本科生畢業(yè)設計 2 第二章 系統(tǒng)開發(fā)技術 第一節(jié) Java 的網絡功能與編程 一、 Java 概述: 美國硅谷有一句行話,每 10 年~ 15 年有一次輪回。最近的一次輪回就是從Java 開始。 Java 是一個由 Sun 公司 開發(fā)而成的新一代編程語言。使用它可在各式各樣不同種機器、不同種操作平臺的網絡環(huán)境中開發(fā)軟件。不論你使用的是哪一種 瀏覽器,哪一種計算機,哪一種操作系統(tǒng),只要 瀏覽器上面注明了 “支持 Java”,你就可以看到生動的主頁。 Java 正在逐步成為 Inter 應用的主要開發(fā)語言。它徹底改變了應用軟件的開發(fā)模式,帶來了自 PC 機以來又一次技術革命,為迅速發(fā)展的信息世界增添了新的活力。 Java 語言有下面一些特點 :簡單、面向對象、分布式、解釋執(zhí)行、 安全、體系結構中立、可移植、高性能、多線程以及動態(tài)性。 豐富的類 庫 Java 提供了大量的類以滿足網絡化、多線程、面向對象系統(tǒng)的需要。語言包提供的支持包括字符串處理、多線程處理、數(shù)學函數(shù)處理等 ,可以用它簡單地實現(xiàn) Java 程序的運行平臺。實用程序包提供的支持包括哈希表、堆棧、可變數(shù)組、時間和日期等。輸入輸出包用統(tǒng)一的 流 模型來實現(xiàn)所有格式的I/O,包括文件系統(tǒng)、網絡、輸入低級網絡包用于實現(xiàn) Socket 編程。抽象圖形用戶接口包實現(xiàn)了不同平臺的計算機的圖形用戶接口部件 , 包括窗口、菜單、滾動條、對話框等 ,使得 Java 可以移植到不同平臺的機器。網絡包支持 Inter 的 TCP/IP協(xié)議 ,提供了與 In