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

?

基于Java的校內(nèi)教學(xué)網(wǎng)絡(luò)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)

2012-04-29 12:47:53邢星
科技資訊 2012年29期
關(guān)鍵詞:網(wǎng)絡(luò)通訊服務(wù)器端端口

邢星

摘要:隨著計(jì)算機(jī)網(wǎng)絡(luò)在教學(xué)工作中的更加廣泛的應(yīng)用,網(wǎng)絡(luò)機(jī)房教學(xué)輔助軟件必不可少?;贘ava程序語(yǔ)言在跨平臺(tái)、安全性、多線程、網(wǎng)絡(luò)Socket編程等方面具有獨(dú)特的優(yōu)勢(shì),成為開(kāi)發(fā)校內(nèi)教學(xué)網(wǎng)絡(luò)通訊軟件的首選平臺(tái)之一。本文介紹了一個(gè)基于Java虛擬機(jī)的可實(shí)現(xiàn)跨平臺(tái)特性的校內(nèi)教學(xué)網(wǎng)絡(luò)通訊軟件的必要性、可行性及其設(shè)計(jì)與實(shí)現(xiàn)。

關(guān)鍵詞:Java 網(wǎng)絡(luò)通訊

中圖分類號(hào):G64 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2012)10(b)-0165-01

1 背景與現(xiàn)狀

在計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用越來(lái)越多的今天,教學(xué)工作中對(duì)網(wǎng)絡(luò)的依賴越來(lái)越多。尤其是在許多課程設(shè)計(jì)都會(huì)安排上機(jī)實(shí)踐的今天,在網(wǎng)絡(luò)教學(xué)中一個(gè)局域網(wǎng)內(nèi)即時(shí)通訊教學(xué)軟件就必不可少了。

基于客戶端/服務(wù)器模式的內(nèi)網(wǎng)通訊系統(tǒng),適用于使用者不多,安全性要求較高的情況。基于Java架構(gòu)開(kāi)發(fā)的網(wǎng)絡(luò)通信程序具有跨平臺(tái)、跨系統(tǒng)應(yīng)用的先天優(yōu)勢(shì)。

大多數(shù)以盈利為目的的即時(shí)通訊軟件,服務(wù)器端源代碼是不公開(kāi)的。這使我們?cè)谙硎芤延械谋憬莘?wù)的同時(shí),必然損失一定的軟件使用自由度。尤其是當(dāng)學(xué)校有特殊的教學(xué)要求,需要添加相應(yīng)模塊組件時(shí),我們無(wú)法在現(xiàn)有軟件的基礎(chǔ)上加以修改。

在教育教學(xué)活動(dòng)中需要一種有學(xué)科教學(xué)特色,能夠滿足教學(xué)工作需要的即時(shí)網(wǎng)絡(luò)通訊系統(tǒng),便于上機(jī)課時(shí)學(xué)生與教師、同學(xué)之間互相溝通聯(lián)系,方便教師布置作業(yè)、批改作業(yè)和學(xué)生提交作業(yè)、學(xué)習(xí)交流。

該系統(tǒng)預(yù)期可以實(shí)現(xiàn)在機(jī)房上機(jī)課教學(xué)時(shí),在用戶登錄后,教師機(jī)與學(xué)生機(jī)之間的通訊,學(xué)生機(jī)之間的通訊,各主機(jī)之間文件的傳輸。并可以發(fā)送留言和郵件,且能將關(guān)鍵數(shù)據(jù)存入數(shù)據(jù)庫(kù)中長(zhǎng)期保存。

2 軟件系統(tǒng)設(shè)計(jì)

網(wǎng)絡(luò)通訊軟件的目的就是指直接或間接地通過(guò)網(wǎng)絡(luò)協(xié)議與其他計(jì)算機(jī)進(jìn)行通訊。網(wǎng)絡(luò)編程中有兩個(gè)主要問(wèn)題:一個(gè)是如何準(zhǔn)確的定位指定網(wǎng)絡(luò)上一臺(tái)或多臺(tái)主機(jī);另一個(gè)是找到主機(jī)后如何進(jìn)行可靠高效的數(shù)據(jù)傳輸。

這兩個(gè)問(wèn)題可以通過(guò)以下方式加以解決:在TCP/IP協(xié)議中,IP層主要負(fù)責(zé)網(wǎng)絡(luò)主機(jī)的定位及數(shù)據(jù)傳輸?shù)穆酚桑蒊P地址可以唯一地確定網(wǎng)絡(luò)中的一臺(tái)主機(jī)。而TCP層則提供面向應(yīng)用的可靠的或非可靠的數(shù)據(jù)傳輸機(jī)制,這是網(wǎng)絡(luò)編程的主要對(duì)象,一般不需要關(guān)心IP層是如何處理數(shù)據(jù)的。

目前較為流行的網(wǎng)絡(luò)編程模型是客戶端/服務(wù)器(C/S)結(jié)構(gòu)。即設(shè)計(jì)兩套不同的應(yīng)用程序作為通信雙方:教師端作為服務(wù)器,等待學(xué)生提出連接請(qǐng)求并予以響應(yīng);學(xué)生端則作為客戶端,在需要連接時(shí)登錄服務(wù)器,并建立連接。教師端一般作為守護(hù)進(jìn)程始終運(yùn)行,實(shí)時(shí)監(jiān)聽(tīng)網(wǎng)絡(luò)端口,一旦有學(xué)生提出連接請(qǐng)求,就會(huì)啟動(dòng)一個(gè)服務(wù)進(jìn)程來(lái)響應(yīng)該學(xué)生端,同時(shí)自己繼續(xù)監(jiān)聽(tīng)服務(wù)端口,使后來(lái)的學(xué)生也能及時(shí)登錄連接,得到服務(wù)。

2.1網(wǎng)絡(luò)模型結(jié)構(gòu)設(shè)計(jì)

校內(nèi)教學(xué)計(jì)算機(jī)網(wǎng)絡(luò)即時(shí)通訊系統(tǒng)采用C/S結(jié)構(gòu)模型。用戶通過(guò)學(xué)生端連接登陸到教師端,教師端服務(wù)器將學(xué)生客戶端之間的聊天信息進(jìn)行轉(zhuǎn)發(fā)或者廣播,即一方先將消息通過(guò)TCP連接發(fā)送至服務(wù)器,服務(wù)器再通過(guò)TCP連接將消息轉(zhuǎn)發(fā)到另一方。當(dāng)然,教師也可以直接向某學(xué)生發(fā)送消息或者向全體學(xué)生廣播消息。其他的功能如文件傳輸,圖片、語(yǔ)言的轉(zhuǎn)發(fā)都是建立在這個(gè)結(jié)構(gòu)上的。

2.2教師端設(shè)計(jì)

教師端作為服務(wù)器端要求為學(xué)生客戶端提供注冊(cè)、登錄服務(wù),聊天服務(wù)管理,群發(fā)廣播信息,共享文件,建立語(yǔ)音通訊中介服務(wù),以及簡(jiǎn)單的數(shù)據(jù)庫(kù)管理和參數(shù)設(shè)置。

2.3學(xué)生端設(shè)計(jì)

根據(jù)系統(tǒng)的要求,學(xué)生客戶端應(yīng)具備以下幾個(gè)功能:即時(shí)通信、語(yǔ)音通信、文件傳輸、好友管理、賬戶管理等,并可完成點(diǎn)名簽到功能。

2.4數(shù)據(jù)庫(kù)設(shè)計(jì)

該教學(xué)網(wǎng)絡(luò)通訊系統(tǒng)是以Access作為后臺(tái)數(shù)據(jù)庫(kù),建立多個(gè)數(shù)據(jù)庫(kù)表:admin表用于存儲(chǔ)管理員信息,teacher表為教師的基本信息表,包括用戶名、密碼、昵稱、圖片等,student表類似于teacher表,用于存儲(chǔ)學(xué)生信息,chatinfo表則用于存儲(chǔ)通訊記錄。

3 軟件系統(tǒng)實(shí)現(xiàn)

3.1系統(tǒng)的開(kāi)發(fā)環(huán)境

本系統(tǒng)在Windows7操作系統(tǒng)下采用Eclipse3.2開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā),在Java平臺(tái)下進(jìn)行GUI圖形界面設(shè)計(jì),并通過(guò)JavaSocket編程以及多線程技術(shù)完成網(wǎng)絡(luò)通信,并采用較為簡(jiǎn)潔實(shí)用的Access數(shù)據(jù)庫(kù)來(lái)滿足數(shù)據(jù)存儲(chǔ)方面需求。

3.2系統(tǒng)主要功能實(shí)現(xiàn)

它采用客戶端/服務(wù)器模式,由教師服務(wù)器端先建立自己的半相關(guān)連接,即建立ServerSocket對(duì)象,并將ServerSocket對(duì)應(yīng)到某個(gè)指定端口port上,并進(jìn)入監(jiān)聽(tīng)狀態(tài),循環(huán)監(jiān)聽(tīng)是否有與自己端口port相對(duì)應(yīng)的連接請(qǐng)求。

連接是學(xué)生客戶端發(fā)起的。學(xué)生端登錄后,建立自己的半相關(guān)連接,然后向指定IP地址的教師端的對(duì)應(yīng)端口port發(fā)起連接請(qǐng)求,教師端在檢測(cè)到連接請(qǐng)求后,建立Socket連接,并將已經(jīng)連上的學(xué)生端的Socket信息存入臨時(shí)的哈希表Hashtable對(duì)象中,此時(shí)就建立起來(lái)一個(gè)完整的連接。當(dāng)學(xué)生端離線后(如關(guān)閉學(xué)生端、死機(jī)、下課等情況),則連接斷開(kāi),教師端實(shí)時(shí)的從哈希表Hashtable對(duì)象中剔除該Socket連接記錄,并更新在線學(xué)生人數(shù)。

學(xué)生端發(fā)送服務(wù)內(nèi)容請(qǐng)求:讀取教師端主機(jī)時(shí)間,教師端服務(wù)器模擬主機(jī)提供標(biāo)準(zhǔn)時(shí)間服務(wù),以一個(gè)線程組輪流響應(yīng)每個(gè)哈希表內(nèi)的學(xué)生端發(fā)送的請(qǐng)求,從而實(shí)現(xiàn)網(wǎng)絡(luò)通訊。

Java提供了ServerSocket類,它是用于服務(wù)器端的標(biāo)準(zhǔn)TCP套接字編程對(duì)象,可以用它來(lái)創(chuàng)建服務(wù)器套接字,并將其指定到某個(gè)端口。具體使用方法只要生成該類的對(duì)象即可,如:ServerSocketserver=newServerSocket(1024);其中1024是指定的端口號(hào)。

而Socket類則可以用于客戶端,用于指定服務(wù)器端的IP地址和端口號(hào),具體方法類似于ServerSocket對(duì)象,如:Socketsocket=newSocket(172.16.168.8,1024);其中172.16.168.8是教師端的IP地址,1024是指定端口號(hào)。

參考文獻(xiàn)

[1] 明日科技,李鐘尉,陳丹丹.Java項(xiàng)目開(kāi)發(fā)案例全程實(shí)錄[M].2版.北京:清華大學(xué)出版社,2011:55-56.

[2] 劉玉,胡暉,仇賓.基于Java多線程的聊天室程序[J].電腦學(xué)習(xí),2010(21):20-22.

[3] 李秀廣.文件加密傳輸系統(tǒng)的設(shè)計(jì)與JAVA實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2010(26):31.

猜你喜歡
網(wǎng)絡(luò)通訊服務(wù)器端端口
一種端口故障的解決方案
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
端口阻塞與優(yōu)先級(jí)
關(guān)于網(wǎng)絡(luò)通訊中信息安全的保障研究
在Windows中安裝OpenVPN
初識(shí)電腦端口
電腦迷(2015年6期)2015-05-30 08:52:42
生成樹(shù)協(xié)議實(shí)例探討
別克君越高速網(wǎng)絡(luò)通訊異常
基于現(xiàn)代網(wǎng)絡(luò)通訊工具的中醫(yī)診斷學(xué)教學(xué)實(shí)踐與探索
計(jì)算機(jī)遠(yuǎn)程網(wǎng)絡(luò)通訊技術(shù)
河南科技(2014年23期)2014-02-27 14:18:44
海丰县| 洞头县| 罗定市| 理塘县| 宜城市| 邢台县| 南充市| 万全县| 上犹县| 罗平县| 弥勒县| 高阳县| 赤水市| 定结县| 昌黎县| 建昌县| 喀喇沁旗| 朝阳县| 葫芦岛市| 博野县| 科技| 眉山市| 汉川市| 通榆县| 达拉特旗| 灵石县| 建始县| 汉沽区| 凌云县| 东城区| 上高县| 西藏| 于都县| 荣昌县| 佳木斯市| 宁远县| 东乌| 德令哈市| 临西县| 舒兰市| 怀来县|