![基于局域網(wǎng)的Java即時(shí)信息傳送軟件的設(shè)計(jì)與實(shí)現(xiàn)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e6d1b1be-da63-4607-b001-573a356698c9/e6d1b1be-da63-4607-b001-573a356698c91.gif)
![基于局域網(wǎng)的Java即時(shí)信息傳送軟件的設(shè)計(jì)與實(shí)現(xiàn)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e6d1b1be-da63-4607-b001-573a356698c9/e6d1b1be-da63-4607-b001-573a356698c92.gif)
![基于局域網(wǎng)的Java即時(shí)信息傳送軟件的設(shè)計(jì)與實(shí)現(xiàn)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e6d1b1be-da63-4607-b001-573a356698c9/e6d1b1be-da63-4607-b001-573a356698c93.gif)
![基于局域網(wǎng)的Java即時(shí)信息傳送軟件的設(shè)計(jì)與實(shí)現(xiàn)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e6d1b1be-da63-4607-b001-573a356698c9/e6d1b1be-da63-4607-b001-573a356698c94.gif)
![基于局域網(wǎng)的Java即時(shí)信息傳送軟件的設(shè)計(jì)與實(shí)現(xiàn)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/e6d1b1be-da63-4607-b001-573a356698c9/e6d1b1be-da63-4607-b001-573a356698c95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于局域網(wǎng)的Java 即時(shí)信息傳送軟件的設(shè)計(jì)與實(shí)現(xiàn)李婷婷周小偉王之堅(jiān)摘要本文介紹了基于局域網(wǎng)的Java 即時(shí)信息傳送軟件的設(shè)計(jì)與實(shí)現(xiàn)技術(shù),重點(diǎn)討論了法院系統(tǒng)中的即時(shí)信息傳送軟件的方案設(shè)計(jì)和功能實(shí)現(xiàn)方法。關(guān)鍵詞局域網(wǎng)Java 即時(shí)信息一、序言隨著互聯(lián)網(wǎng)的迅速普及,網(wǎng)上即時(shí)信息傳送軟件也以其方便快捷而成為一種廣受歡迎的信息交流方式,其代表有I CQ ,O I CQ ,Tom q 等。這些軟件雖然性能穩(wěn)定,簡(jiǎn)單易用,但通常卻只免費(fèi)提供客戶端程序,而不提供其服務(wù)器端程序。但對(duì)于一些企業(yè)或單位,希望在局域網(wǎng)內(nèi)部進(jìn)行信息通信(如:辦公系統(tǒng)中的發(fā)送會(huì)議通知、互相進(jìn)行實(shí)時(shí)對(duì)話等,這些即時(shí)信息傳送軟件就無法發(fā)揮
2、其功用,原因是這些軟件只適用于廣域網(wǎng),不能用于單位內(nèi)的局域網(wǎng)。如我們?cè)陂_發(fā)法院綜合業(yè)務(wù)信息系統(tǒng)時(shí),用戶要求系統(tǒng)能提供在內(nèi)部網(wǎng)上進(jìn)行即時(shí)信息傳送,功能包括實(shí)時(shí)信息提醒、公文傳輸、工余時(shí)間好友或同事進(jìn)行信息交流等。系統(tǒng)研制過程中發(fā)現(xiàn),目前In ternet 網(wǎng)上可供免費(fèi)下載的類似服務(wù)器端程序很少,即使有的話也是功能十分簡(jiǎn)單,不能滿足用戶需求,如法院用戶要求的實(shí)時(shí)信息提醒功能就無法滿足;再者,盡管網(wǎng)上有許多可免費(fèi)下載的客戶端程序,但因信息傳送機(jī)制不符合法院內(nèi)部局域網(wǎng)的特定情況、界面不夠美觀等因素而不能使用。鑒于此,我們?yōu)榉ㄔ壕C合業(yè)務(wù)信息管理系統(tǒng)開發(fā)了一個(gè)基于局域網(wǎng)的Java 即時(shí)信息傳送軟件,該軟件
3、具有基本功能和特殊功能兩部分,其基本功能部分也適合于在一般的局域網(wǎng)上進(jìn)行實(shí)時(shí)通信。二、系統(tǒng)原理1.關(guān)于Java局域網(wǎng)中的計(jì)算機(jī)系統(tǒng)各種各樣,軟、硬件千差萬別。要讓應(yīng)用軟件在網(wǎng)絡(luò)上的任何一臺(tái)計(jì)算機(jī)系統(tǒng)中正常運(yùn)行,就必須使軟件具有平臺(tái)的獨(dú)立性。Java 正是一種具有平臺(tái)無關(guān)性的語言,它在源程序級(jí)保證了基本數(shù)據(jù)類型與平臺(tái)無關(guān)。Java 源程序編譯后產(chǎn)生的二進(jìn)制代碼是一種與具體機(jī)器指令集無關(guān)的指令集合,只要通過Java 虛擬機(jī)(JVM ,就可以在不同平臺(tái)上運(yùn)行。作為一種W eb 編程語言,Java 支持TCP IP 協(xié)議、U RL地址,不論在開發(fā)服務(wù)器應(yīng)用方面還是開發(fā)客戶應(yīng)用方面,都提供了方便靈活的網(wǎng)
4、絡(luò)類,簡(jiǎn)化了編程的復(fù)雜性。Java 還具有強(qiáng)大的安全結(jié)構(gòu)和安全策略。Java 軟件包提供多種網(wǎng)絡(luò)軟件協(xié)議(如FT P ,H T T P 等的用戶接口,使用戶可以在網(wǎng)絡(luò)傳輸中用多種加密技術(shù)保證網(wǎng)絡(luò)傳輸?shù)陌踩院屯暾浴ava 語言還提供了功能強(qiáng)大的AW T 組件集和Sw ing 組件集,它們?yōu)殚_發(fā)圖形用戶界面GU I 提供了有力的支持。所以,Java 自身的特點(diǎn)使它成為了開發(fā)此局域網(wǎng)信息傳送軟件的最佳選擇。2.系統(tǒng)結(jié)構(gòu)系統(tǒng)分為基本功能和特殊功能兩部分,基本功能部分實(shí)現(xiàn)了普通的消息傳遞功能,而特殊功能則用來滿足用戶的特定要求。出于通用性的考慮,軟件的特殊功能采用了javabean 的形式獨(dú)立進(jìn)行
5、開發(fā),從而使其基本功能可以適用于任意的局域網(wǎng)。(1基本功能目前即時(shí)信息傳送軟件的基本功能一般為用戶注冊(cè)、用戶登錄、查找好友、添加好友、刪除好友以及信息的發(fā)送等。在不考慮服務(wù)器與數(shù)據(jù)庫的交互的情況下,那么這些功能歸結(jié)為一句話,就是各個(gè)客戶機(jī)之間信息的發(fā)送與傳遞(如果服務(wù)器也被看作一個(gè)客戶機(jī)的話客戶機(jī)把用戶的注冊(cè)信息、登錄信息以及好友信息發(fā)送到服務(wù)器,而各個(gè)客戶機(jī)之間的對(duì)話內(nèi)容則或者通過服務(wù)器轉(zhuǎn)發(fā)、或者由各個(gè)客戶機(jī)直接通信。也就是說,信息傳遞就是即時(shí)信息傳送軟件的核心。因此,對(duì)于即時(shí)信息的處理,可以采取以下兩種處理方案:方案一:服務(wù)器端除接收客戶端發(fā)來請(qǐng)求處理的信息(如:注冊(cè)、登錄、好友信息外,還
6、負(fù)責(zé)轉(zhuǎn)發(fā)所有客戶端之間的對(duì)話信息;方案二:除了必須由服務(wù)器處理的信息以及必須由服務(wù)器轉(zhuǎn)發(fā)的系統(tǒng)消息(如好友在你下線后發(fā)來的對(duì)話信息、重要會(huì)議通知外,其它所有客戶端之間的信息傳遞均由客戶機(jī)自行解決,這里所指的客戶端之間的信息,不僅指客戶甲對(duì)客戶乙發(fā)送的即時(shí)對(duì)話,還包括好友上、下線以及對(duì)方將你添為好友的通知信息等。在上述兩個(gè)方案中,方案二增加了客戶端的負(fù)擔(dān),而方案一在用戶增多時(shí)會(huì)造成服務(wù)器性能低下。因此,選擇方案二無王之堅(jiān)河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院南京210098周小偉河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院軟件工程師南京210098李婷婷河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院碩士研究生南京210098疑是明智之舉。
7、在網(wǎng)絡(luò)通信方面,由于對(duì)系統(tǒng)開銷的考慮, 多數(shù)即時(shí)信息傳送軟件在設(shè)計(jì)時(shí)采用了UD P 協(xié)議在客戶端之間進(jìn)行連接,但這種廣域網(wǎng)上對(duì)系統(tǒng)性能的考慮并不適用于法院內(nèi)部局域網(wǎng)。該局域網(wǎng)用戶量少,由于TCP 開銷過大而可能導(dǎo)致的網(wǎng)絡(luò)阻塞情況出現(xiàn)的幾率較小;另外,該即時(shí)信息傳送軟件僅供企業(yè)內(nèi)部發(fā)送信息,所以數(shù)據(jù)傳輸?shù)耐暾耘c可靠性顯得尤為重要。因此,不論是在客戶端與服務(wù)器端,還是各客戶端之間均采用套接口Socket (TCP 連接。(2特殊功能 該軟件是為了法院綜合業(yè)務(wù)信息系統(tǒng)而設(shè)計(jì),因此上述基本功能并不能完全滿足用戶的需求。根據(jù)法院用戶的要求,軟件在基本功能之上,還增加了實(shí)時(shí)信息提醒功能和公文傳輸功能。實(shí)
8、時(shí)信息提醒功能:該功能允許用戶輸入提醒信息的內(nèi)容及被提醒的時(shí)間,這些信息由服務(wù)器統(tǒng)一管理,在預(yù)設(shè)時(shí)間來臨時(shí),服務(wù)器將把提醒信息發(fā)送給在線用戶。這樣,用戶在局域網(wǎng)的任何一臺(tái)計(jì)算機(jī)上,只要登錄該軟件,都能收到提醒信息。公文傳輸功能:由于法院系統(tǒng)公文繁多,用戶通常希望公文可以在第一時(shí)間內(nèi)被傳達(dá),因此,軟件添加了公文傳輸功能。該功能用TCP 進(jìn)行實(shí)現(xiàn),它允許兩用戶之間直接進(jìn)行公文的點(diǎn)對(duì)點(diǎn)傳送。另外,該軟件還添加了一個(gè)獨(dú)立的javabean ,它為那些處在法院辦公系統(tǒng)之中,沒有登錄該軟件卻想發(fā)送信息的客戶進(jìn)行服務(wù)。此javabean 共有三個(gè)參數(shù):m y I D ,friend I D 和m sg 。在
9、實(shí)際操作時(shí),只要用戶處于法院辦公系統(tǒng)中,并且在javabean 中填入自己的I D 號(hào)(m y I D 、朋友的I D 號(hào)(friend I D 和要發(fā)送的信息(m sg ,無需登錄即時(shí)信息傳送軟件,服務(wù)器一樣會(huì)對(duì)在線的好友即時(shí)發(fā)送信息。例如:讓一個(gè)通知成員開會(huì)的JSP 網(wǎng)頁調(diào)用該javabean ,其他線上成員將立刻收到信息并察看該網(wǎng)頁上的會(huì)議通知。(3數(shù)據(jù)庫的設(shè)計(jì)作為法院內(nèi)部使用的特定軟件,它的表結(jié)構(gòu)與一般的即時(shí)信息傳送軟件有所不同。在法院數(shù)據(jù)庫中原有一張YHQ X(用戶權(quán)限表,記錄了所有員工的基本信息,包括用戶代碼、用戶密碼、用戶權(quán)限等字段,而該表中的所有員工就是使用即時(shí)信息傳送軟件的所
10、有用戶。為了避免改動(dòng)原有表結(jié)構(gòu)而破壞用戶的基本信息數(shù)據(jù),我們?cè)跀?shù)據(jù)庫中添加了icq 表,其中的用戶代碼和用戶密碼字段映射了YHQ X 表的相應(yīng)字段。之所以這樣設(shè)計(jì),是因?yàn)樵谵k公系統(tǒng)中消息應(yīng)該發(fā)送到實(shí)名用戶,而不是一個(gè)隨喜好而定的昵稱。當(dāng)單位招收新員工后,只要YHQ X 表中有了新員工的基本信息,那么觸發(fā)器將自動(dòng)為icq 表增加一條記錄,將用戶代碼和用戶密碼添加到icq 表。兩表對(duì)應(yīng)關(guān)系見圖1所示。另外,數(shù)據(jù)庫中還添加了friend 表,存放用戶的所有好友信息,該表包括用戶自己的號(hào)碼和好友的號(hào)碼。數(shù)據(jù)結(jié)構(gòu)如圖1所示:圖1數(shù)據(jù)結(jié)構(gòu)圖(4系統(tǒng)結(jié)構(gòu)圖本系統(tǒng)結(jié)構(gòu)圖如圖2所示。圖2系統(tǒng)結(jié)構(gòu)圖三、系統(tǒng)實(shí)現(xiàn)1
11、.服務(wù)器端程序服務(wù)器端程序分為QQ Server 和ServerT h read 兩個(gè)類,采用多線程來滿足多用戶的請(qǐng)求。類QQ Server 創(chuàng)建了一個(gè)ServerSocket 對(duì)象監(jiān)聽來自客戶端的連接請(qǐng)求,它將無限循環(huán)調(diào)用accep t (方法接收客戶程序的連接。每收到一個(gè)連接,類QQ Server 就產(chǎn)生一個(gè)新的ServerT h read 線程處理用戶的請(qǐng)求。ServerT h read 通過JDBC 與后臺(tái)數(shù)據(jù)庫連接,它將根據(jù)收到的字符串判斷客戶的不同要求,從而調(diào)用自身的相應(yīng)方法處理請(qǐng)求。類QQ Server 還將不斷檢查需要進(jìn)行信息提醒的在線用戶,生成ServerT h read 線
12、程,此線程將提前2分鐘發(fā)出提示信息。其主要代碼段如下:pub lic class QQ Server 主服務(wù)器類pub lic static vo id m ain (String args th row sI O Excep ti on ServerScoket s =new ServerScoket (8080; 監(jiān)聽端口8080try w h ile (true Socket socket =s .accep t (;無限監(jiān)聽客戶的請(qǐng)求try new ServerT h read (socket ;創(chuàng)建新線程catch (I O Excep ti on e socket .clo se
13、(;finallyclo se(; 捕獲異常2.客戶端程序客戶端程序不僅承擔(dān)著與服務(wù)器及與其它客戶機(jī)進(jìn)行通信的任務(wù),還要負(fù)責(zé)構(gòu)造出美觀的用戶界面,因此客戶端的程序相對(duì)于服務(wù)器端要復(fù)雜得多。在客戶端與服務(wù)器端以及兩客戶端之間均采用了Socket (InetA ddress,po rt建立連接。服務(wù)器端與客戶端均構(gòu)造了BufferedR eader和P rin t W riter來建立輸入輸出流,然后雙方通過該輸入輸出流相互傳遞信息。在服務(wù)器的accep t(方法收到客戶方的連接請(qǐng)求并返回一個(gè)新建的Socket對(duì)象后,客戶端將向服務(wù)器發(fā)送信息,如登錄,查找好友等,服務(wù)器則針對(duì)收到的不同信息進(jìn)行處理
14、并向客戶發(fā)送確認(rèn)信息。當(dāng)一客戶端向另一客戶端發(fā)送信息時(shí),發(fā)送方會(huì)通過服務(wù)器取得對(duì)方的地址和端口號(hào),然后采用同服務(wù)器通信相同的方法發(fā)送信息。在實(shí)際編程時(shí),共有三個(gè)類send、send M sg和re M sg負(fù)責(zé)了信息收發(fā)工作。class send負(fù)責(zé)與服務(wù)器通信,class send M sg負(fù)責(zé)向另一客戶端發(fā)信息,class re M sg負(fù)責(zé)接收其他客戶端的信息。以下為其主要代碼:class Sender ex tends T h read:p rivate BufferedR eader in stream;p rivate P rin t W riter ou tstream;pub
15、lic vo id run(:tryou tstream=new P rin t W riter(new Buffered W riter( newO u tpu tStreamW riter(socket.getO u tpu tStream(, true;in stream=new BufferedR eader(newInpu tStreamR eader(socket.get Inpu tStream(;:四、結(jié)束語論文主要討論了即時(shí)信息傳送軟件的實(shí)現(xiàn)技術(shù)和設(shè)計(jì)步驟。該軟件已應(yīng)用于法院的綜合業(yè)務(wù)信息系統(tǒng)中,基本滿足了用戶對(duì)實(shí)時(shí)信息提醒、文件傳輸和其它信息交互功能的需求。參考文獻(xiàn)1B r
16、uce Eckel Java編程思想(第二版,機(jī)械工業(yè)出版社,2002.92Greg T ravis Bu ilding a Java chat server,h ttp: www2(收稿日期:2003年5月3日(上接25頁數(shù)據(jù)庫應(yīng)該提供相應(yīng)的A P I接口來調(diào)用數(shù)據(jù)庫系統(tǒng)的功能模塊。通過這些A P I函數(shù),用戶可以直接用標(biāo)準(zhǔn)SQL語句與數(shù)據(jù)庫進(jìn)行交互。這些接口屏蔽了底層操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議的差異,為應(yīng)用程序提供統(tǒng)一的編程接口。3.使用簡(jiǎn)單的索引用來優(yōu)化查詢技術(shù)作為數(shù)據(jù)庫來說,如何讓用戶更快的找到自己想要得數(shù)據(jù),永遠(yuǎn)都是其不懈追求的目標(biāo)。而移動(dòng)數(shù)據(jù)庫也不例外,如果讓一個(gè)抄表員為了查找一個(gè)用戶賬單信息,手握著抄表器苦苦等上5、6分鐘,那將會(huì)是一件非常尷尬的事情。所以在移動(dòng)數(shù)據(jù)庫存中加入簡(jiǎn)單的索引來優(yōu)化查詢是十分必要的。不過,移動(dòng)數(shù)據(jù)庫和普通庫的不同之處也比較明顯,你必須將通訊代價(jià)、通訊時(shí)間、電源消耗等因素納入查詢優(yōu)化的考慮因素之中。4.采用更為便捷數(shù)據(jù)通訊接口在本例中,抄表器和服務(wù)器端采用串口通信的方式實(shí)現(xiàn)數(shù)據(jù)的交互。而如果采用更為先進(jìn)的無線通信方式的話,將會(huì)極大的提高抄表工作的效率。不過隨之而來的,你也必須考慮數(shù)據(jù)輿的安全問題。六、總結(jié)移動(dòng)數(shù)據(jù)庫技術(shù)的許多特性都與信息時(shí)代的不斷進(jìn)步的需求相吻合,有著廣闊的發(fā)展空間。由于信息數(shù)字化的不斷加深,人們需要更多的手持設(shè)備來存貯和管理信息,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年住宅室內(nèi)外一體化裝修設(shè)計(jì)合同范本2篇
- 《現(xiàn)場(chǎng)心肺復(fù)蘇術(shù)》課件
- 《廣告形式及分類》課件
- 南寧市2025年度商鋪?zhàn)赓U合同實(shí)施細(xì)則
- 《飲食調(diào)護(hù)與養(yǎng)生》課件
- 《高速鐵路同相供電》課件
- 文旅復(fù)合型人才的社會(huì)需求分析
- 2025年新型個(gè)人車輛抵押借款合同3篇
- 《職業(yè)衛(wèi)生》課件
- 銅產(chǎn)業(yè)發(fā)展實(shí)施方案
- 公司培訓(xùn)員工職務(wù)犯罪預(yù)防講座之職務(wù)侵占
- 化學(xué)選修4《化學(xué)反應(yīng)原理》(人教版)全部完整PP課件
- 《煤礦安全規(guī)程》專家解讀(詳細(xì)版)
- 招聘面試流程sop
- 建筑公司工程財(cái)務(wù)報(bào)銷制度(精選7篇)
- 工程設(shè)計(jì)方案定案表
- 最新2022年減肥食品市場(chǎng)現(xiàn)狀與發(fā)展趨勢(shì)預(yù)測(cè)
- 第一章-天氣圖基本分析方法課件
- 暖氣管道安裝施工計(jì)劃
- 體育實(shí)習(xí)周記20篇
- 初二物理彈力知識(shí)要點(diǎn)及練習(xí)
評(píng)論
0/150
提交評(píng)論