【正文】
聊天是多點對多點的,Java 提供的多線程功能用多線程可完成多點對多點的聊天,數(shù)據(jù)庫管理系統(tǒng)用 MYSQL 完成并通過 訪問數(shù)據(jù)庫。畢業(yè)論文(畢業(yè)設計)題目 :android 即時通訊軟件系 院: XXXXX學生姓名:XX學 號: XXX專 業(yè):計算機科學與技術年 級: 計本 0902 班完成日期: XXX指導教師:XXXXX 1 摘 要在網(wǎng)絡越來越發(fā)達的今天,人們對網(wǎng)絡的依賴越來越多,越來越離不開網(wǎng)絡,由此而產(chǎn)生的聊天工具越來越多,例如,國外的 ICQ、國內騰訊公司開發(fā)的 OICQ?;?Java 網(wǎng)絡編程的強大功能,本次畢業(yè)設計使用 Java 編寫一個運行在 版本以上的即時通訊軟件。本系統(tǒng)建立在 JAVA 平臺上,系統(tǒng)的設計使用了面向對象技術和面向對象的設計原則。使用 JAVA 語言編寫,開發(fā)工具采用 Eclipse。大大增強了程序對服務器資源的利用。關鍵字:多線程 ;客戶機/服務器 ;JAVA ; Socket ; Eclipse ; TCP/IP 2 Abstractas the work bee more and more developed, people bee more and more lean to the work, and can not leave with out it. This caused the chat materials bee more numerous, as the overseas ICQ system, the OICQ system that invented by Tencent Co., and so on. So we create a work chat medium just like the . Java work programming based on the power, the use of Java designed to prepare graduates a chat system.In general, the majority of the chat tool for client and server program in addition to serverside storage of customer data for the database, the system uses a client / server architecture model the adoption of Java provided Socket class connect client and server and between the client and server municate with each other, as the chat is to provide pointtomultipoint and multithreaded Java function to be pleted by using multithreaded chat and more pointtomultipoint, database management system with MYSQL the pletion and adoption of JDBCODBC Bridge access the database.The system built on the JAVA platform, the system design using objectoriented technology and objectoriented design principles. System uses the C / S structure, client and clientside and serverside client and send messages through Socket. The use of JAVA language, development tools using Eclipse. Design and Implementation of serverside process, the use of multithreading technology, which can process in a single run at the same time a number of different threads, the implementation of different tasks. Procedures greatly enhanced the use of server resources.Chat system will allow people to plete chat to more friends,and the system can search and add, can deal with new user registration, send messages, receive messages and so on. Keywords : Multithreading 。JAVA 。Eclipse 。本人取最具代表性的 和 MSN 進行了一些研究,作為我開發(fā)即時通訊的準備。騰訊的成功與其對 的不斷創(chuàng)新和完善是分不開的??梢源_定騰訊 是以多服務器提供服務、服務器總控客戶端、客戶端之間UDP 直連通信的。其模型如圖 11圖 11 騰訊 服務器客戶端模型 1與騰訊 不同,微軟的 MSN Messenger 只使用了 TCP 作為傳輸層通信協(xié)議,所有客戶端與服務器進行連接,然后通過與服務器的 TCP 連接進行中轉通信。而 MSN Messenger所有數(shù)據(jù)都要經(jīng)過服務器,所以服務器方的數(shù)據(jù)量會大一些(這也是平時很少見到使用 MSN 進行語音視頻聊天的) 。 Java 語言 Java 的發(fā)展歷史Java 的發(fā)展歷史,可以追朔到 1990 年。這個計劃的負責任是James Gosling。但后來發(fā)現(xiàn) C++并不適合這類任務;因為 C++常會使系統(tǒng)失效。需要程序員記錄并管理內存資源。面包機上的程序錯誤可能使面包機燒壞甚至爆炸。它 6 采用了大部分與 C++類似的語法對可能具備危險性的功能加以改進,例如將內存管理改為由語言自己進行管理,以減少程序員的負擔及可能發(fā)生的錯誤。 Java 的特點Java 是一種簡單、安全、容易適用、面向對象、可移置、高性能、多線程的語言。2. 面向對象面向對象技術是現(xiàn)代工業(yè)的一次革新,提高了軟件的模塊化程度和重復適用率,縮短了軟件開發(fā)時間,減低了卡發(fā)成本。Java 則是完全面向對象的程序設計語言。在網(wǎng)路環(huán)境下,語言的安全性變得更為重要。4. 平臺獨立平臺獨立指程序不受操作平臺的限制,可以應用在各種平臺上。只要計算機安裝了能解釋執(zhí)行字節(jié)碼的 Java 虛擬機 JVM,就可以執(zhí)行字節(jié)碼文件,從而實現(xiàn)Java 的平臺獨立性。Java 能從全球網(wǎng)絡資源獲取所需信息,如數(shù)據(jù)文件、影響文件、聲音文件等,并對所得信息進行處理,所以說 Java 是一種網(wǎng)絡語言。但是隨著 JVM 技術的進步,使得其執(zhí)行速度直逼 C 與 C++。TCP/IP(傳輸控制協(xié)議/網(wǎng)間協(xié)議)是 inter 的主要協(xié)議,定義了計算機和外設進行通信所使用的規(guī)則(應用層,傳輸層,網(wǎng)絡層,鏈路層).大多數(shù)基 7 于 inter 的應用程序被看作 TCP/IP 協(xié)議的上一層. 如 : ftp, , smtp, pop3, tel, nntp 等。(2)服務器,在接收到客戶端的請求后(確保同客戶端的通信信道建立)服務器會向客戶端提供服務。為了實現(xiàn)客戶端同服務器端的通信,客戶端首先發(fā)送一個“SYN”數(shù)據(jù)包。接著,客戶端為了表示收到了這個 SYN+ACK 信息,會向服務器發(fā)送一個最終確認信息(ACK 包) 。這種通信模式也叫客戶端/服務器(C/S)模式。 服務器和客戶機網(wǎng)絡最基本的目的就是讓兩臺機器連接到一起,并相互“交談” 或者“溝通”。但它們怎樣才能“發(fā)現(xiàn) ”對方呢?這就像在游樂園里那樣:一臺機器不得不停留在一個地方,偵聽其他機器說:“ 嘿,你在哪里呢? ” “停留在一個地方 ”的機器叫做 “服務器”(Server);到處“找人”的機器則叫做“客戶機”(Client)或者 “客戶”。一旦連通,就變成了一種雙向通信,誰來扮演服務器或者客戶機便顯得不那么重要了。而客戶機的任務是試著與一臺服務器建立連接,這是由我們創(chuàng)建的特定客戶機對象完成的。從這時開始,我們可以象讀寫一個普通的文件那樣對待連接。這正是 Java 聯(lián)網(wǎng)最方便的一個地方。第三章為概要設計,分模塊介紹系統(tǒng)的具體實現(xiàn)過程。 9 2 需求分析 可行性分析經(jīng)濟可行性:由于本系統(tǒng)的主要背景是畢業(yè)課程設計,不注重直接的經(jīng)濟效益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對自身的經(jīng)濟要求也不高,只要有一臺能運行 Java 軟件的電腦便可,所以不用考慮到經(jīng)濟問題。學校校園網(wǎng)的建設也為新系統(tǒng)服務器/客戶端的結構提供了硬件的支持。運行可行性: 本系統(tǒng)為一個小型的即時聊天系統(tǒng),所耗費的資源非常的小 ,現(xiàn)在一般的電腦無論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運行上是可行的。 系統(tǒng)功能需求本系統(tǒng)主要通過客戶端,服務器端來體現(xiàn)即時通訊的基本功能。操作簡單:本系統(tǒng)應該適用于不同水平的使用者,包括事業(yè)單位和企業(yè)單