【正文】
重寫run方法,使用該子類創(chuàng)建的對象即為線程。Java語言是解釋型的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。Java語言是分布式的。 Java語言是簡單的。隨著Java的開源,Java的未來似乎變得更加明朗。隨著人們對桌面應(yīng)用的要求越來越高,系統(tǒng)將變得越來越復(fù)雜。在進入21世紀(jì)以來,Java的主要問題就是性能。另外Java2還在多線程、集合類和非同步類上做了大量的改進。如用于JCA和JCE的第三方加密類庫。這個時期也是Java飛速發(fā)展的時期。其實Java的誕生頗有那么一股“有心栽花花不開,無心插柳柳成陰”的味道?,F(xiàn)在讓我們進入時間隧道,重新回到1995年,再來回顧一下Java的發(fā)展軌跡和歷史變遷。 騰訊服務(wù)器客戶端模型1與騰訊不同,微軟的MSN Messenger只使用了TCP作為傳輸層通信協(xié)議,所有客戶端與服務(wù)器進行連接,然后通過與服務(wù)器的TCP連接進行中轉(zhuǎn)通信。聊天系統(tǒng)完成后將可進行多人對多人的聊天,對好友進行添加、刪除,對新用戶的注冊,發(fā)送消息、接受消息等等功能。在網(wǎng)絡(luò)越來越發(fā)達的今天,人們對網(wǎng)絡(luò)的依賴越來越多,越來越離不開網(wǎng)絡(luò),由此而產(chǎn)生的局域網(wǎng)通訊軟件越來越多,尤其是聊天功能的軟件越來越多!例如,國外的ICQ、國內(nèi)騰訊公司開發(fā)的OICQ?!娟P(guān)鍵詞】多線程 ;客戶機/服務(wù)器 ;JAVA ; Socket ; Eclipse ; TCP/IPThe design and implementation of the LAN chat system【Abstract】This paper introduces in detail the development and chat systems LAN process, because now network technology is developing very rapidly, and chat system can solve the problem, convenient munication, so extraordinarily popular kiss ignorance. The project adopts the method of software engineering, the integrated use of database technology, program design technology, network technology, eclipse development tool to Java language as a system receptionist application development tools. The LAN chat by client/server tool (C/S) mode and TCP connection. In this design will client and server in a program inside, integrated with multithread achieved different parallel task and human interface design use rise more convenient function is reasonable. Finally achieved LAN munications. This system operation simple, flexible and steady.【Key words】multithreading ;Client/server ;JAVA ; Socket ; Eclipse ; TCP/IP山東農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文1 緒論 引言局域網(wǎng)通訊(Local Network,簡稱LNLNIM)是指能夠即時發(fā)送和接收互聯(lián)網(wǎng)消息等的業(yè)務(wù)。本項目采用軟件工程的方法,綜合運用數(shù)據(jù)庫技術(shù)、程序設(shè)計技術(shù)、網(wǎng)絡(luò)技術(shù),以java為開發(fā)語言以eclipse開發(fā)工具作為系統(tǒng)前臺應(yīng)用程序開發(fā)工具。是一種終端連往即時通訊網(wǎng)絡(luò)的服務(wù)。本系統(tǒng)建立在JAVA平臺上,系統(tǒng)的設(shè)計使用了面向?qū)ο蠹夹g(shù)和面向?qū)ο蟮脑O(shè)計原則。騰訊無疑是國內(nèi)即時通訊市場的霸主,自從99年進入即時通訊領(lǐng)域并迅速占市場之后,其在國內(nèi)用戶數(shù)量始終高居榜首,即使近幾年面對微軟MSN的強大攻勢,騰訊的時常占有率依然穩(wěn)步增長。綜合騰訊和微軟MSN Messenger的特點,我打算在我的系統(tǒng)中嘗試建立其類似騰訊的服務(wù)器客戶端模型,但以單服務(wù)器提供服務(wù)。 1991年4月,Sun公司的James Gosling領(lǐng)導(dǎo)的綠色計劃(Green Project)開始著力發(fā)展一種分布式系統(tǒng)結(jié)構(gòu),使其能夠在各種消費性電子產(chǎn)品上運行。已經(jīng)初具規(guī)模。不僅如此。Swing是Java的另一個圖形庫。 ,主要表現(xiàn)在一些類庫上(如數(shù)學(xué)運算、新的Timer API等)、在JNDI接口方面增加了一些DNS的支持、增加了JNI的支持,這使得Java可以訪問本地資源了、支持XML以及使用新的Hotspot虛擬機代替了傳統(tǒng)的虛擬機。同時由于Compaq、Fujitsu、 SAS、 Symbian、 IBM等公司的參與?!?Sun公司總裁兼首席運營官Jonathan Schwartz先生指出,來自Java社團和IBM等全球技術(shù)合作伙伴兩方面的支持,乃是Java技術(shù)在創(chuàng)新和社會進步上繼續(xù)發(fā)揮重要作用的強有力的標(biāo)志。瘦客戶機、微小的傳感器以及其它Java驅(qū)動的小裝置,可以幫助我們改善人們的生活。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。Java語言是健壯的。Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。Java是高性能的。 Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關(guān)鍵字為synchronized)。Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。(2)服務(wù)器,在接收到客戶端的請求后(確保同客戶端的通信信道建立)服務(wù)器會向客戶端提供服務(wù)。 服務(wù)器和客戶機網(wǎng)絡(luò)最基本的目的就是讓兩臺機器連接到一起,并相互“交談”或者“溝通”。從這時開始,我們可以象讀寫一個普通的文件那樣對待連接。學(xué)校校園網(wǎng)的建設(shè)也為新系統(tǒng)服務(wù)器/客戶端的結(jié)構(gòu)提供了硬件的支持??蓱?yīng)用于企業(yè)辦公室,以及校園電子閱覽室操作簡單:本系統(tǒng)應(yīng)該適用于不同水平的使用者,包括事業(yè)單位和企業(yè)單位,同時系統(tǒng)不應(yīng)太復(fù)雜和煩瑣,因此要求系統(tǒng)的操作盡可能簡單易行。因此,在設(shè)計聊天系統(tǒng)的過程中,必須要考慮好以下幾個設(shè)計要點:在Internet上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應(yīng),使用者通過客戶端程序登錄到服務(wù)器,就可以與登錄在同一服務(wù)器上的用戶交談,這是一個面向連接的通信過程。 為客戶端程序登錄界面,負責(zé)用戶帳號信息的驗證與反饋。4 詳細設(shè)計 系統(tǒng)流程圖 系統(tǒng)服務(wù)器端流程圖 系統(tǒng)服務(wù)器端流程圖 系統(tǒng)客戶端流程圖 客戶端流程圖 系統(tǒng)的實現(xiàn) 問題陳述 1. 接受用戶注冊信息并保存在數(shù)據(jù)庫。//創(chuàng)建輸入流 out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(())),true)。//設(shè)定數(shù)據(jù)庫查尋條件 …… }(2)數(shù)據(jù)庫在程序中的應(yīng)用 Java提供了強大的API功能JDBC則是專門為了解決程序與數(shù)據(jù)庫連接問題而建立的API,而本程序采用了Java API中提供的介于前端應(yīng)用程序與后端數(shù)據(jù)源之間,作為數(shù)據(jù)訪問溝通的橋梁之一的JDBCODBC橋,應(yīng)用程序通過它可以調(diào)用ODBC連接數(shù)據(jù)源(),由于Microsoft Windows操作系統(tǒng)中的ODBC大多已支持各種類的數(shù)據(jù)源,Microsoft SQL Server正是Microsoft Windows操作系統(tǒng)中的ODBC支持的數(shù)據(jù)源之一,因此在建構(gòu)上較為方便,可直接使用JDK所附加的驅(qū)動程序進行連接:。還有通知好友、新建用戶、讀取資料、添加好友、添加好友應(yīng)答、刪除好友、退出下線功能的實現(xiàn)都是用同樣的方法來調(diào)取數(shù)據(jù)庫的,這些功能的實現(xiàn)均在Server類中一一實現(xiàn)。try{ while(true){Socket socket=()。import .*。private BufferedReader in。 String str= 。 //}while(!(ok))。 (0)。 (serverport)。(().trim())。 else{//如果成功就告訴用戶其號碼 (this,your javaicqis+no,ok,)。主程序如下所示:Public class MainWin extends JFrame implements Runnable{public MainWin(int s,String sername,int serport) {//主程序構(gòu)造函數(shù) enableEvents()。(200,150,300,300)。(zhy+()+:+()+,+()+())。消息發(fā)送是通過調(diào)用DategramSocket對象的send方法實現(xiàn)的,它需要以DategramPacket對象為參數(shù),將剛才封裝進DategramPacket對象中的數(shù)據(jù)組成數(shù)據(jù)報發(fā)送出去的。 (sendPacket)。 Public int getLength():返回發(fā)送或接受消息的長度。 參考文獻[1]]Rogers Cadenhead. :人民郵電出版社,2007[2][美]Bruce Eckel. Thinking In :機械工業(yè)出版社,2007[3] :清華大學(xué)出版社,2006[4] :中國水利水電出版社,2006[5] :清華大學(xué)出版社,2006[6] ——:西安電子科技大學(xué)出版社,2006[7] :中國水利水電出版社,2006[8] :清華大學(xué)出版社,2006[9] :清華大學(xué)出版社,2006[10] :冶金工業(yè)出版社,2006[11] :清華大學(xué)出版社,2006[12] :機械工業(yè)出版社,2006[13] [美]Herbert :清華大學(xué)出版社,2006[14] :機械工業(yè)出版社,2006[15] :清華大學(xué)出版社,2006[16] :清華大學(xué)出版社,2006[17] :北京郵電大學(xué)出版社,2005[18] :人民郵電出版社,2005[19] [20] 總結(jié)本