国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SWING的局域網(wǎng)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2013-12-29 00:00:00薛忠俊
電腦知識(shí)與技術(shù) 2013年4期

摘要:現(xiàn)代企業(yè)在構(gòu)建高效網(wǎng)絡(luò)互連的時(shí)候,也更注重網(wǎng)絡(luò)的安全,所以在企業(yè)的內(nèi)部網(wǎng)實(shí)現(xiàn)脫離Internet的內(nèi)網(wǎng)通信系統(tǒng)也是很有必要的。該系統(tǒng)實(shí)現(xiàn)了如下的功能:利用SWING技術(shù)和AWT技術(shù)實(shí)現(xiàn)系統(tǒng)的圖形化界面。在用戶列表面板上,提供了好友列表的顯示和用戶功能菜單;系統(tǒng)功能面板上提供了界面選擇功能和IP范圍搜索好友和自動(dòng)添加好友功能;在系統(tǒng)設(shè)置面板上,主要提供了公共程序路徑的更改和搜索好友的IP范圍的設(shè)置。本系統(tǒng)采用JAVA語(yǔ)言開發(fā),使用純JAVA的內(nèi)存數(shù)據(jù)庫(kù)Derby作為系統(tǒng)后臺(tái)和Eclipse開發(fā)環(huán)境,旨在提供一個(gè)功能全面、即時(shí)、高效的局域網(wǎng)通信系統(tǒng)。

關(guān)鍵詞: SWING;UDP;JAVA ;SOCKET;多線程;FTP

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)04-0746-03

隨著全球信息化進(jìn)程的飛速發(fā)展,網(wǎng)絡(luò)也在飛速發(fā)展,計(jì)算機(jī)通信已經(jīng)成為這一時(shí)代的標(biāo)志和基礎(chǔ)設(shè)施。局域網(wǎng)在企業(yè)的發(fā)展中承擔(dān)著很重要的作用。在內(nèi)部局域網(wǎng)的幫助下,企業(yè)內(nèi)部的信息傳遞流程得以簡(jiǎn)化,信息交換的速度得到了提高,工作效率也得到了進(jìn)一步提升。

可與企業(yè)內(nèi)部網(wǎng)發(fā)展不能對(duì)應(yīng)的是很多網(wǎng)絡(luò)辦公管理系統(tǒng)缺少局域網(wǎng)版本,正是基于此原因考慮設(shè)計(jì)一個(gè)局域網(wǎng)的通信系統(tǒng)系統(tǒng)。該通信系統(tǒng)是基于SWING開發(fā)包設(shè)計(jì),是以抽象串口工具包(AWT)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。用少量的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來(lái)創(chuàng)建優(yōu)雅的用戶界面;此外Swing還提供了事件處理機(jī)制,讓用戶界面更加生動(dòng)化。而通信功能主要利用了Socket編程技術(shù),這是一種可以架構(gòu)在企業(yè)局域網(wǎng)上實(shí)現(xiàn)快速高效的通信系統(tǒng)協(xié)議技術(shù),這種通用的通信技術(shù),無(wú)須更改企業(yè)內(nèi)部網(wǎng)絡(luò)原先結(jié)構(gòu),可以有效的進(jìn)行網(wǎng)絡(luò)負(fù)載均衡的使用,解決網(wǎng)絡(luò)用戶的各種使用需求,從而大幅度提高局域網(wǎng)的使用效率。

1 系統(tǒng)分析及設(shè)計(jì)

根據(jù)系統(tǒng)設(shè)計(jì)要求,需要實(shí)現(xiàn)如下的功能:1) 采用Swing程序包提供良好用戶圖形界面,并配有相應(yīng)的事件處理。2) 每臺(tái)計(jì)算機(jī)端既是客戶端又是服務(wù)器端,兩端之間利用Socket編程技術(shù)和UDP協(xié)議通過(guò)IP地址和PORT提供不可靠非連接通信。 3) 采用JAVA多線程技術(shù),多個(gè)線程進(jìn)行端口的監(jiān)聽等。4) 配置ftp服務(wù)器,采用Process和Runtime調(diào)用Windows的dos命令來(lái)實(shí)現(xiàn)客戶端和服務(wù)器端文件共享。

基于以上功能的實(shí)現(xiàn),設(shè)計(jì)了局域網(wǎng)通信系統(tǒng)的基本模型,該系統(tǒng)模型主要由兩大部分構(gòu)成。一部分是用Swing開發(fā)工具包來(lái)編寫搭建人性化的外觀用戶界面。第二部分,主要利用Socket和ftp相關(guān)知識(shí)來(lái)實(shí)現(xiàn)局域網(wǎng)通信功能。系統(tǒng)的組織架構(gòu)如圖1所示。

3 關(guān)鍵技術(shù)分析及系統(tǒng)實(shí)現(xiàn)

3.1 Swing簡(jiǎn)介

在該設(shè)計(jì)中主要是采用Swing技術(shù)包進(jìn)行相應(yīng)的系統(tǒng)開發(fā),Swing是一個(gè)用于開發(fā)Java應(yīng)用程序用戶界面的開發(fā)工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。一個(gè)Java GUI[6]通常由頂層容器、中間容器以及多個(gè)原子組件組成。而每個(gè)原子組件或容器都可能觸發(fā)相應(yīng)事件的產(chǎn)生。Swing的實(shí)現(xiàn)是一個(gè)小型GUI框架,該框架無(wú)基本平臺(tái)依賴性。

Swing采用了一種MVC的設(shè)計(jì)范式,即"模型-視圖-控制"(Model-View-

Controller),其中模型用來(lái)保存內(nèi)容,視圖用來(lái)顯示內(nèi)容,控制器用來(lái)控制用戶輸入。Swing組件的體系結(jié)構(gòu)如圖2所示。

3.2 系統(tǒng)的實(shí)現(xiàn)

做好基礎(chǔ)準(zhǔn)備工作之后,還要準(zhǔn)備如下數(shù)據(jù)庫(kù),表1是用戶表的數(shù)據(jù)庫(kù)設(shè)計(jì),表2是該應(yīng)用工具在桌面的顯示設(shè)置參數(shù),具體設(shè)計(jì)如表1及表2所示,該系統(tǒng)設(shè)計(jì)主方法如圖3所示。

[用戶ip地址\&計(jì)算主機(jī)名\&用戶名\&用戶提示信息\&用戶頭像\&ip \&host\&name\&tooltip\&icon\&varchar(16)\&varchar(30)\&varchar(20)\&varchar(50)\&varchar(50)\&primary key\&\&\&\&\&\&\&\&\&根據(jù)ip地址隨機(jī)獲?。?amp;]

表2 GUI視圖在桌面上的顯示位置與大小數(shù)據(jù)庫(kù)設(shè)計(jì)

[X軸坐標(biāo)\&Y軸坐標(biāo)\&用戶界面長(zhǎng)\&用戶界面高\&xLocation\&yLocation\&width \&height\∫\∫\∫\∫\&]

系統(tǒng)功能介紹如下:

通過(guò)SystemTrayInitial()方法初始化系統(tǒng)欄,此方法內(nèi)設(shè)置了系統(tǒng)圖標(biāo),系統(tǒng)提示信息,以及系統(tǒng)欄菜單(退出、打開、訪問(wèn)服務(wù)器等功能)。

用Swing組件實(shí)現(xiàn)用戶主界面的搭建主要是在EQ的構(gòu)造函數(shù)中實(shí)現(xiàn)的。用戶主界面主要用三大模塊實(shí)現(xiàn)的,界面最上頭是本地用戶信息(頭像和用戶名)和系統(tǒng)公告欄,第三大模塊是用tabbedPane分頁(yè)組件實(shí)現(xiàn)的,又分為用戶列表、系統(tǒng)操作、系統(tǒng)設(shè)置三大面板。

4 總結(jié)

該系統(tǒng)的設(shè)計(jì)提供了一個(gè)比較完善的解決方案進(jìn)行內(nèi)部資料共享、視頻會(huì)議的基本方案,可以方便的實(shí)時(shí)進(jìn)行交流各類會(huì)議,而不擔(dān)心商業(yè)機(jī)密被竊取的問(wèn)題,具有相當(dāng)?shù)倪m用性,同時(shí)也為企業(yè)的信息化及以后的繼續(xù)深入研究提供了一個(gè)基礎(chǔ)。但是系統(tǒng)中類的設(shè)計(jì)還不是最優(yōu),某些方法的行數(shù)過(guò)多,需要進(jìn)一步重構(gòu),使得代碼簡(jiǎn)潔,提高代碼簡(jiǎn)潔性。通過(guò)提煉方法、提煉類等重構(gòu)技術(shù)可以讓系統(tǒng)結(jié)構(gòu)更清晰、更易于擴(kuò)展。

參考文獻(xiàn):

[1] 哈諾德.Java網(wǎng)絡(luò)編程[M].朱濤江,林劍,譯.3版.北京:中國(guó)電力出版社,2005:161-192.

[2] Kenneth L,Calvert Michael J,Donahoo.Java TCP/IP Socket編程[M].周恒民,譯.北京:機(jī)械工業(yè)出版社,2009:5-29.

[3] David M Geary.Java 2 圖形設(shè)計(jì)卷Ⅱ:SWING Graphics Java 2 Mastering the JFC Volume Ⅱ[M].李建森,蔣欣軍,龔堯莞.譯.3版.北京:機(jī)械工業(yè)出版社,2000:11-15.

[4] 杜佳榮,馬建紅,滕振. Java網(wǎng)絡(luò)編程與實(shí)踐[M]. 北京:清華大學(xué)出版社,2008:313-360.

[5] Bruce Eckel.Thinking.In.Java[M].4th ed.CHS.美國(guó).Prentice Hall PTR,2006:57-63.

[6] 呂校春,李玲莉.基于Swing的Java GUI組件開發(fā)[J].機(jī)械工程師,2008(5):129-131.

[7] 周小松,朱雄軍.基于UDP 協(xié)議的Socket 網(wǎng)絡(luò)編程模式的實(shí)現(xiàn)[J].武漢職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007(1):1-3.

阜南县| 长寿区| 图木舒克市| 五河县| 平顺县| 红原县| 鸡东县| 澄城县| 平湖市| 琼海市| 建平县| 安庆市| 海阳市| 自治县| 台前县| 嘉祥县| 南平市| 永吉县| 阿荣旗| 瓦房店市| 股票| 陇南市| 兴仁县| 苍南县| 耿马| 当阳市| 收藏| 潜江市| 庆元县| 乌苏市| 彭泽县| 简阳市| 台中市| 黎城县| 阿城市| 大余县| 尉氏县| 蛟河市| 肥乡县| 瓮安县| 淄博市|