![Java語言與其開發(fā)技術(shù)發(fā)展趨勢研究(最新整理)_第1頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/23/159f07d3-d4a8-4d7f-8b40-4df38513b8b0/159f07d3-d4a8-4d7f-8b40-4df38513b8b01.gif)
![Java語言與其開發(fā)技術(shù)發(fā)展趨勢研究(最新整理)_第2頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/23/159f07d3-d4a8-4d7f-8b40-4df38513b8b0/159f07d3-d4a8-4d7f-8b40-4df38513b8b02.gif)
![Java語言與其開發(fā)技術(shù)發(fā)展趨勢研究(最新整理)_第3頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/23/159f07d3-d4a8-4d7f-8b40-4df38513b8b0/159f07d3-d4a8-4d7f-8b40-4df38513b8b03.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、java 語言與其開發(fā)技術(shù)發(fā)展趨勢研究摘要:目前即時通訊工具在互聯(lián)網(wǎng)上使用廣泛,便利、易用受歡迎,結(jié)合 java 語言在跨平臺、安全性、多線程、網(wǎng)絡(luò) socket 編程等方面的優(yōu)點以及我們公安系統(tǒng)的安全性可靠性和可維護性等多方面考慮,該文將就一系列的問題設(shè)計了一個基于 java 虛擬機,可跨平臺特性的即時通訊工具。文中對該即時通訊系統(tǒng)的體系結(jié)構(gòu)、構(gòu)成模塊進行了分析介紹,給出了該系統(tǒng)的需求背景、概要設(shè)計、詳細(xì)設(shè)計以及該系統(tǒng)的大概實現(xiàn)過程。實驗證明,該即時通訊系統(tǒng)簡潔實用并能夠很好的支持在多個操作系統(tǒng)平臺運行,真正實現(xiàn) java 的跨平臺的特性,體現(xiàn) java 的魅力所在。關(guān)鍵字:java soc
2、ket 多線程 即時通訊在當(dāng)今網(wǎng)絡(luò)化、信息化以及辦事效率的成倍提高的社會,即時通訊已經(jīng)是一個無法或缺的,讓使用者在網(wǎng)絡(luò)上進行即時交流信息的實時通訊服務(wù)的網(wǎng)絡(luò)工具。即時通訊服務(wù)的主要功能在與提供了文字、圖片以及視頻的即時通訊,只要通訊雙方同時在線,就能像多媒體電話一樣,傳送文字、檔案、聲音、影像給對方而不用考慮距離。目前在互聯(lián)網(wǎng)上受歡迎的即時通訊軟件包括 qq、msn messenger、gtalk、百度 hi、jabber、icq 等。隨著互聯(lián)網(wǎng)的發(fā)展與普及,網(wǎng)上即時通訊聯(lián)絡(luò)已經(jīng)成為廣大網(wǎng)民不可或缺的服務(wù),同時隨著我們公安系統(tǒng)的不斷高速發(fā)展以及行動的需求,我們公安系統(tǒng)也應(yīng)該也必須擁有一套屬于自
3、己的內(nèi)部的即時聊天工具,以提高公安系統(tǒng)辦公的高效性以及行動的保密性與及時性。作為一款即時通訊工具的雛形,該系統(tǒng)已經(jīng)能夠為廣大公安干警提供基本的即時通信交流以及語音通訊服務(wù),它是利用當(dāng)今最為流行的 java 語言來編寫的,該系統(tǒng)本身固有的優(yōu)點,比如跨平臺運行,強大的網(wǎng)絡(luò)功能以及良好的數(shù)據(jù)庫接口支持在該系統(tǒng)中也將得到體現(xiàn),同時開發(fā)過程中的很多步驟和開發(fā)出來的代碼都涉及到 java 語言的關(guān)鍵的或者具有特色的技術(shù),比如 java 的網(wǎng)絡(luò)編程,swing 界面程序設(shè)計以及 udp 打洞等等技術(shù)。一、 系統(tǒng)的設(shè)計本系統(tǒng)采用的是基于 c/s 模式的即時通訊服務(wù)。用戶可以在公安網(wǎng)上下載到通信客戶端軟件,通過
4、客戶端軟件使用專用的公安網(wǎng)絡(luò)連接登陸到服務(wù)器,然后服務(wù)器根據(jù)客戶端的服務(wù)指令將客戶端之間的文本聊天信息進行轉(zhuǎn)發(fā),即一方先將消息通過 tcp 連接發(fā)送至服務(wù)器,服務(wù)器再通過 tcp 連接將消息轉(zhuǎn)發(fā)到另一方,客戶端與服務(wù)器的通信內(nèi)容將使用xml 進行封裝,以保證進行網(wǎng)絡(luò)通信時的安全性問題。由于通過 napt 上網(wǎng)的特點決定了只能由 napt 內(nèi)的計算機主動向 napt 外部的主機發(fā)起連接,這就意味著內(nèi)網(wǎng)的系統(tǒng)用戶無法主動發(fā)起語音通訊請求。如果兩位用戶都處在不同的內(nèi)網(wǎng),語音通訊便無法進行,為了解決這個問題,在數(shù)據(jù)傳輸上采用 udp 打洞技術(shù)來對 napt 進行穿透。由服務(wù)器協(xié)助兩個客戶端建立 udp
5、 直連,語音數(shù)據(jù)將采用 udp 協(xié)議使用點到點方式傳輸,而用戶對語音聊天的控制信息,如請求通訊、接受/拒絕接聽、掛斷通訊等同樣由服務(wù)器中轉(zhuǎn)來實現(xiàn)。根據(jù)系統(tǒng)的要求,客戶端應(yīng)具備以下幾個功能:即時通信、語音和視頻通信、好友管理、賬戶管理等。在客戶端類設(shè)計上,設(shè)計好客戶端的主類,其中定義了實現(xiàn)客戶端主要功能的一些方法。它包括幾個重要的內(nèi)部類:receivethread、chatpane、userinfoframe、userinfobean 等等。內(nèi)部類 receivethread 實現(xiàn)服務(wù)器端所有消息的接收和解析,應(yīng)用 java 多線程技術(shù), 對來自服務(wù)器的消息單獨開一個線程來監(jiān)聽,發(fā)送消息通過類
6、sendthread 建立到服務(wù)器的單獨線程。chatpane 類為用戶聊天面板,用戶與每一個好友聊天時都會生成一個 chatpane 對象,所有的 chatpane 對象由系統(tǒng)中唯一的一個 chatframe 窗口對象管理。而用戶個人信息管理用一個窗口類 userin-foframe 類來實現(xiàn),包括個人信息的修改,好友的增刪等等, 每個 userinfoframe 對象關(guān)聯(lián)一個 userinfobean 對象。userinfobean 類為系統(tǒng)中非常重要的一個類,它保存用戶的所有個人資料以及此用戶發(fā)送的聊天信息等內(nèi)容。每段聊天信息由一個 mes-sagebean 對象保存。音頻捕獲和音頻回放
7、功能通過 com.javahi.client.audioprocess 包中有兩個類:audiocapture 和 au-dioplayback 來分別實現(xiàn)。這樣就能夠完成整個客戶端的用戶的需求,同樣滿足了公安系統(tǒng)中的簡單性、實用性、安全性等特性的需求從而可以大大提高我們公安系統(tǒng)的辦事效率,實現(xiàn)為人們服務(wù)的宗旨。服務(wù)器端要求為客戶端提供聊天服務(wù)管理,建立語音通訊 udp 直連中介服務(wù)和注冊服務(wù),以及簡單的數(shù)據(jù)庫管理和參數(shù)設(shè)置功能。這些功能的實現(xiàn)與完善可以更好的為公安系統(tǒng)的即時通信服務(wù)而服務(wù)。在服務(wù)器端類設(shè)計上,定義了 javahiserver 類為服務(wù)器端主類,此類會從硬盤上讀取已保存的服務(wù)器
8、相關(guān)參數(shù),并初始化監(jiān)控臺界面 serverframe 對象,serverframe 類包括多個管理面板類,在聊天服務(wù)管理面板類 chatserverpane 中通過兩個重要的內(nèi)部類來實現(xiàn)數(shù)據(jù)通信:servicethread 和 audioser-vicethread.serverthread 為監(jiān)聽客戶端登陸連接的線程類,每當(dāng)一個客戶端登陸服務(wù)器的時候便生成一個 serverthread 線程對象來管理與客戶端的 tcp 連接,接收來自客戶端的消息,解析消息并調(diào)用相應(yīng)的方法進行處理,并將處理結(jié)果返回給客戶端。而 audioservicethread 是服務(wù)器為客戶端提供語音通訊 udp 直連服
9、務(wù)的線程,它接收來自客戶端發(fā)送的 udp 包,并提取出客端的外網(wǎng) ip 和 port 作相應(yīng)記錄。這樣便可以很好的記錄和監(jiān)控公安網(wǎng)絡(luò)的聊天情況,從而更好的體現(xiàn)安全性的服務(wù)。另外在系統(tǒng)的聊天記錄中還包含敏感字監(jiān)控程序,對所有人的聊天記錄進行監(jiān)控,當(dāng)發(fā)現(xiàn)敏感詞匯出現(xiàn),并且所屬的用戶或用戶組沒有開放關(guān)鍵字時,系統(tǒng)服務(wù)會提示用戶不可以使用, 當(dāng)用戶不聽從警告繼續(xù)使用時,系統(tǒng)將會自動結(jié)束該用戶的聊天進程,并將所有的聊天記錄保存,并作相應(yīng)的安全處理,同時將警告發(fā)送至管理員以及發(fā)生警告的用戶聊天記錄。當(dāng)管理員授權(quán)后便可繼續(xù)進行聊天,并且不再進行敏感字的警告。該即時通訊系統(tǒng)以 mysql 作為后臺數(shù)據(jù)庫,建立
10、名為 javahi 的數(shù)據(jù)庫,共兩個表, user 表和 friend 表,user 表為用戶的基本信息表,包括用戶名,昵稱,密碼等,friend 表為用戶的好友表。包括自己的用戶名和好友用戶名字段。同時將所有的用戶的聊天記錄以文本的形式存入硬盤,一定級別的聊天記錄應(yīng)當(dāng)進行相應(yīng)的加密處理。數(shù)據(jù)庫的編碼采用的是 utf-8 編碼。二、系統(tǒng)實現(xiàn)由于客戶端實現(xiàn)的各部分功能主要分為事件的響應(yīng),消息的組織,發(fā)送,解析等過程, 本文只選取部分功能模塊作詳細(xì)描述,其它模塊的實現(xiàn)與此類似。文本消息的傳送,用戶填寫文本信息,并點擊按鈕發(fā)送,客戶端的發(fā)送事件被啟動, 服務(wù)器接收消息后首先進行關(guān)鍵字的檢測,當(dāng)檢測無
11、關(guān)鍵字時再進行目標(biāo)用戶是否在線檢查,如果目標(biāo)用戶不在線,則將發(fā)送失敗信息返回給發(fā)送者,如果在線則將信息轉(zhuǎn)發(fā)給目標(biāo)用戶,目標(biāo)用戶接收消息后查看發(fā)送方是否在黑名單中,如果不在黑名單中則提示用戶有新消息到來,若在黑名單當(dāng)中則直接屏蔽該用戶的信息。語音通信的實現(xiàn),語音通訊的兩個客戶端之間直接利用 udp 直連以實現(xiàn)點對點通信的過程如下:語音請求方向目標(biāo)方發(fā)送語音請求后,經(jīng)過以下步驟:1) 發(fā)送一個 udp 包到服務(wù)器,里面包含源用戶名和目標(biāo)用戶名;2) 利用與服務(wù)器的 tcp 連接發(fā)送語音請求到服務(wù)器,內(nèi)容包括目標(biāo)用戶名,再由服務(wù)器轉(zhuǎn)發(fā)給目標(biāo)用戶;3) 啟動一個計時器每隔三秒循環(huán)一次,若沒有收到結(jié)果則
12、重復(fù)上面兩個步驟直到用戶取消請求或收到語音請求結(jié)果。服務(wù)器收到 udp 包后提取出包的源 ip 和 port 并作相應(yīng)的記錄,收到語音請求后檢查目標(biāo)用戶是否在線,如果不在線則返回給請求的用戶失敗消息, 如果在線則檢查發(fā)送用戶的記錄中有無與目標(biāo)用戶相關(guān)的 ip 和 port,如果無則不做任何事情,如果有則將語音請求加上先前記錄的與目標(biāo)用戶相關(guān)的源用戶的外網(wǎng) ip 和 port 一 起轉(zhuǎn)發(fā)給目標(biāo)用戶客戶端,目標(biāo)用戶作出“拒絕”或者“接受”操作,選擇拒絕請求則返 回給發(fā)送用戶相關(guān)信息,如果接受請求則同樣做與開始發(fā)送用戶相同的三個步驟,并發(fā)送 一個不帶任何內(nèi)容的 udp 包到開始記錄過的源用戶的 ip
13、 和 port,直到兩用戶建立 udp 直連時為止。三、總結(jié)本系統(tǒng)設(shè)計實現(xiàn)了即時通訊最基本和最核心的功能,如文本信息交流和語音通訊,運行穩(wěn)定,能夠確保系統(tǒng)的安全性與穩(wěn)定性為公安內(nèi)部人員提供一個切實可行的交流平臺,同時也保證了系統(tǒng)內(nèi)部機密等級的保障,避免機密文件內(nèi)容泄露。本系統(tǒng)使用的是 java 語言編寫,它的跨平臺性可以使該系統(tǒng)應(yīng)用在 window 和 linux 操作系統(tǒng)中。后期將在此內(nèi)核基礎(chǔ)上進行功能拓展,離線消息的實現(xiàn),添加豐富的用戶在線狀態(tài),文件傳輸功能等等,使其成為一個真正完善的,強大的能夠為我們公安系統(tǒng)內(nèi)部人與服務(wù)好的即時通訊系統(tǒng)。三、參考文獻:【1】張白一,崔尚森.面向?qū)ο蟪绦蛟O(shè)
14、計m.西安:西安電子科技大學(xué)出版社,2003.【2】陳剛.eclipse 從入門到精通m.北京:清華大學(xué)出版社,2007.【3】吳亞峰,紀(jì)超.java se 6.0 編程指南m.北京:人民郵電出版社,2007.【4】eckel b.thinking in javam.america:pearson education,2003【5】darwin i f.java cook bookm.america:oreilly,2004.“”“”at the end, xiao bian gives you a passage. minand once said, people who learn to
15、learn are very happy people. in every wonderful life, learning is an eternal theme. as a professional clerical and teaching position, i understand the importance of continuous learning, life is diligent, nothing can be gained, only continuous learning can achieve better self. only by constantly learning and mastering the latest relevant knowledge, can employees from all walks of
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 條形碼、電子標(biāo)簽等物聯(lián)網(wǎng)技術(shù)在文檔管理中的應(yīng)用
- 2025年福建省職教高考《職測》核心考點必刷必練試題庫(含答案)
- 2025年楊凌職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 中國銀行個人借款合同
- 正規(guī)的借款合同范本
- 航空運輸人才培養(yǎng)與行業(yè)發(fā)展
- 事業(yè)單位的試用期勞動合同范本
- 鋼筋單項勞務(wù)承包合同
- 臨設(shè)建設(shè)工程施工勞務(wù)分包合同
- 消防產(chǎn)品的買賣合同
- (二模)遵義市2025屆高三年級第二次適應(yīng)性考試試卷 地理試卷(含答案)
- 二零二五隱名股東合作協(xié)議書及公司股權(quán)代持及回購協(xié)議
- IQC培訓(xùn)課件教學(xué)課件
- 2025年計算機二級WPS考試題目
- 高管績效考核全案
- 2024年上海市中考英語試題和答案
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費管理工作指引》知識培訓(xùn)
- 長沙醫(yī)學(xué)院《無機化學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- eras婦科腫瘤圍手術(shù)期管理指南解讀
- 初一到初三英語單詞表2182個帶音標(biāo)打印版
- 《人力資源管理》全套教學(xué)課件
評論
0/150
提交評論