局域網(wǎng)內(nèi)多媒體教學(xué)系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)word格式.doc_第1頁(yè)
局域網(wǎng)內(nèi)多媒體教學(xué)系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)word格式.doc_第2頁(yè)
局域網(wǎng)內(nèi)多媒體教學(xué)系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)word格式.doc_第3頁(yè)
局域網(wǎng)內(nèi)多媒體教學(xué)系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)word格式.doc_第4頁(yè)
局域網(wǎng)內(nèi)多媒體教學(xué)系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)word格式.doc_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

梧 州 學(xué) 院畢 業(yè) 論 文論文題目 局域網(wǎng)內(nèi)多媒體教學(xué)系統(tǒng) 的研究與實(shí)現(xiàn) 系 別 計(jì)算機(jī)與電子信息工程系 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 學(xué) 號(hào) 學(xué)生姓名 指導(dǎo)教師(簽名) 完成時(shí)間 2009 年 5 月摘要隨著我國(guó)計(jì)算機(jī)科學(xué)技術(shù)的迅速發(fā)展,多媒體教學(xué)已經(jīng)成為現(xiàn)代教育的重要組成部分,教育信息化勢(shì)在必行,網(wǎng)絡(luò)多媒體教學(xué)正在逐漸成為主流的教育形式。網(wǎng)絡(luò)多媒體教學(xué)為學(xué)習(xí)者提供了更為豐富、優(yōu)質(zhì)的學(xué)習(xí)資源,對(duì)提高教學(xué)質(zhì)量、轉(zhuǎn)變教學(xué)觀念以及推進(jìn)全民教育產(chǎn)生積極影響。本課題針對(duì)本校計(jì)算機(jī)教室的教學(xué)和管理需要,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)局域網(wǎng)內(nèi)多媒體教學(xué)系統(tǒng)。在屏幕廣播功能上,采用java.util.robot類來(lái)進(jìn)行全屏捕捉,捕捉后的桌面圖片以jpeg的格式進(jìn)行存儲(chǔ),并在存儲(chǔ)的過(guò)程中進(jìn)行了快速壓縮,在確保圖片質(zhì)量的同時(shí)降低傳輸?shù)男畔⒘浚鉀Q了現(xiàn)有的商業(yè)化網(wǎng)絡(luò)教學(xué)系統(tǒng)廣播時(shí)網(wǎng)速卡的問(wèn)題;在屏幕錄制功能上,采用robot類來(lái)完成對(duì)屏幕的捕獲;在多媒體數(shù)據(jù)壓縮技術(shù)上,根據(jù)不同的媒體信息的特性采用了不同的壓縮方式;在提交作業(yè)功能上,通過(guò)應(yīng)用層協(xié)議,用udp方式把要上交的作業(yè)高效率地傳到教師端。本系統(tǒng)實(shí)現(xiàn)了屏幕廣播、屏幕錄制、屏幕回放、教師端發(fā)布作業(yè)和學(xué)生端提交作業(yè)等功能, 并且測(cè)試結(jié)果表明,本系統(tǒng)取得了廣播延時(shí)小、發(fā)送文件速度快、系統(tǒng)運(yùn)行穩(wěn)定的效果。關(guān)鍵詞:局域網(wǎng) 多媒體教學(xué)系統(tǒng) 屏幕廣播 屏幕錄制the research and implement of multimedia teaching system on local area networkabstractalong with the rapid development of computer science technology in our country, the multimedia teaching already became the important constituent of the modern education,the education informationization imperative, the network multimedia teaching were becoming the gradually education form of the mainstream.the network multimedia teaching have provided richly, the high quality study resources for the learner, to improves the quality of teaching, the transformation teaching idea as well as advances to educate all the people has the positive influence.this topic in view of the school computer engine room teaching and the management need, designed and has realized in a local area network the multimedia teaching system.in the function of the screen broadcast,use the java.util.robot to carries on entire screen capture, after the capture tabletop image carries on the memory by the jpeg form, and has carried on the fast compression in the memory process, while guarantees the quality of picture to reduce the transmission the information content, has solved when the existing commercialization network teaching system broadcast network card question; in the function of screen transcribing,use in java jdk1.4 the robot to complete to the screen capture; in the multimedia data compression technology, has selected the different compression method according to the different media information characteristic; in the submission job function, through the application layer agreement, the work high efficiency which must deliver passes to the teacher with the udp way to send.this system has completed the screen broadcast, screen transcribing, screen playbacking,the teacher is held announcing school assignment and the student is held submitting school assignment and so on.and indicated of the test result, this system has obtained the broadcast time delay slightly, the transmission document fast, the system movement stable effect.keyword: local area network multimedia teaching system screenbroadcastscreenbranscribing目錄第一章 緒論11.1 開發(fā)背景11.2 當(dāng)前多媒體教學(xué)系統(tǒng)技術(shù)現(xiàn)狀11.3 選題的意義31.4課題目標(biāo)3第二章 系統(tǒng)開發(fā)于相關(guān)技術(shù)52.1 java語(yǔ)言與開發(fā)工具52.2 本系統(tǒng)采用的圖像壓縮算法5第三章 多媒體教學(xué)平臺(tái)的設(shè)計(jì)73.1 需求分析73.2 系統(tǒng)基本結(jié)構(gòu)83.3協(xié)議設(shè)計(jì)的模型9第四章 多媒體教學(xué)平臺(tái)的實(shí)現(xiàn)114.1 屏幕錄制114.2 屏幕播放134.3教師機(jī)與學(xué)生機(jī)的連接144.4屏幕廣播164.5 教師端發(fā)布作業(yè)214.6學(xué)生端提交作業(yè)24第五章 軟件測(cè)試過(guò)程275.1對(duì)屏幕錄制、屏幕回放的測(cè)試275.2對(duì)教師機(jī)和學(xué)生機(jī)自動(dòng)連接的測(cè)試275.2對(duì)屏幕廣播、教師端發(fā)布作業(yè)的測(cè)試305.4對(duì)提交作業(yè)的測(cè)試30第六章 總結(jié)與改進(jìn)32參考文獻(xiàn)33致謝3435第一章 緒論1.1 開發(fā)背景計(jì)算機(jī)輔助教學(xué)改變了以往教學(xué)中形式單一,信息量小等等諸多弊病,多媒體輔助教學(xué)能實(shí)現(xiàn)個(gè)性化教育,發(fā)展被教育者的積極主動(dòng)性,具有良好的視覺(jué)、聽(tīng)覺(jué)效果、豐富的知識(shí)表達(dá)能力等多種有點(diǎn)。隨著全球信息化進(jìn)程的不斷發(fā)展,教育信息化勢(shì)在必行,多媒體教學(xué)正在逐漸成為主流教育形式。多媒體教學(xué)為學(xué)習(xí)者提供了更為豐富、優(yōu)質(zhì)的學(xué)習(xí)資源,必將對(duì)提高教學(xué)質(zhì)量,轉(zhuǎn)變教學(xué)觀念以及推進(jìn)全面教育產(chǎn)生了積極的影響。1.2 當(dāng)前多媒體教學(xué)系統(tǒng)技術(shù)現(xiàn)狀1多媒體教室隨著教育事業(yè)的不斷發(fā)展,教學(xué)改革的不斷深入,借助計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和多媒體技術(shù),改變傳統(tǒng)的教學(xué)手段,已成為各類學(xué)校改善教學(xué)條件、提高教學(xué)質(zhì)量、強(qiáng)調(diào)素質(zhì)教育、培養(yǎng)順應(yīng)新時(shí)期要求的高素質(zhì)人才的共同需求1。現(xiàn)在多媒體網(wǎng)絡(luò)教室將多媒體計(jì)算機(jī)同網(wǎng)絡(luò)技術(shù)緊密結(jié)合起來(lái),在網(wǎng)絡(luò)教學(xué)的基礎(chǔ)之上更強(qiáng)調(diào)電腦輔助教學(xué)功能。既教師利用網(wǎng)絡(luò)多媒體教學(xué)平臺(tái)直接在計(jì)算機(jī)上進(jìn)行課程教學(xué),并能將有限的資源實(shí)現(xiàn)共享,達(dá)到一室多用,一室多能。多媒體網(wǎng)絡(luò)教室在計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)上,借助影音傳輸和控制系統(tǒng),實(shí)現(xiàn)聲音、圖像等多媒體信息在計(jì)算機(jī)網(wǎng)絡(luò)上的實(shí)時(shí)傳輸,使得各種文字、圖形、圖像、聲音、動(dòng)畫等多媒體資料皆可用作教學(xué)素材,從而使得教學(xué)的內(nèi)容和方式更加生動(dòng)活潑、多姿多彩。傳統(tǒng)意義上的多媒體網(wǎng)絡(luò)教室包括計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備以及操作系統(tǒng)。現(xiàn)代的多媒體網(wǎng)絡(luò)教室還要具備教師和學(xué)生之間能夠相互溝通、輔導(dǎo)和控制的多媒體網(wǎng)絡(luò)教室平臺(tái)軟件。有了這樣的平臺(tái)軟件,教師就能夠向?qū)W生廣播、轉(zhuǎn)播屏幕內(nèi)容和聲音,并能夠進(jìn)行遠(yuǎn)程控制學(xué)生機(jī),使教學(xué)更加方便。因此,一個(gè)完整的多媒體電子教室應(yīng)包括:計(jì)算機(jī) (pc):教師機(jī) (服務(wù)器),學(xué)生機(jī);網(wǎng)絡(luò)設(shè)備:網(wǎng)卡,網(wǎng)線,集線器或交換機(jī)等;操作系統(tǒng):windows;其它設(shè)備:配件 (耳麥),應(yīng)用軟件,教學(xué)軟件,機(jī)房設(shè)備 (防靜電設(shè)備,穩(wěn)壓電源等)。多媒體教室的基本構(gòu)成如圖1-1所示:投影儀掃描儀放像機(jī)光盤庫(kù)教師機(jī)服務(wù)器學(xué)生機(jī)學(xué)生機(jī)學(xué)生機(jī)學(xué)生機(jī)學(xué)生機(jī) 圖1-1 多媒體教室教學(xué)示意圖2多媒體教學(xué)系統(tǒng) 多媒體教學(xué)系統(tǒng),可以將教師的屏幕畫面和聲音傳輸 (播)給所有或特定的學(xué)生,并可以監(jiān)看學(xué)生的屏幕,控制學(xué)生的操作。教師與學(xué)生可以雙向交談,任何教學(xué)軟件和多媒體聲、像教學(xué)資料,均可以對(duì)學(xué)生實(shí)時(shí)播送和監(jiān)看,從而達(dá)到多媒體的電腦教學(xué)的目的。多媒體教學(xué)系統(tǒng),根據(jù)其設(shè)計(jì)原理和實(shí)現(xiàn)方式的不同可以歸為三大類:硬件實(shí)現(xiàn)方式、軟件實(shí)現(xiàn)方式、硬件結(jié)合實(shí)現(xiàn)方式,以前兩種為主。2(1)硬件實(shí)現(xiàn)方式硬件實(shí)現(xiàn)方式完全利用傳輸模擬信號(hào)的多媒體卡實(shí)現(xiàn)多媒體信號(hào)的傳輸。由于模擬信號(hào)在傳輸視頻信息上具有得天獨(dú)厚的優(yōu)勢(shì),因此在圖像的質(zhì)量上,由硬件實(shí)現(xiàn)方式的多媒體教學(xué)系統(tǒng)更具有優(yōu)勢(shì)。由于采用專用的視頻和音頻控制芯片、控制電纜和控制臺(tái),多媒體教學(xué)系統(tǒng)的圖像清晰、傳送可靠,而且不依賴于計(jì)算機(jī)原有的硬件平臺(tái)和軟件平臺(tái)。但由于采用專門的硬件設(shè)備,成本難以下降,由于使用專用的多媒體卡和線路連接使系統(tǒng)維護(hù)困難,系統(tǒng)升級(jí)困難,使用功能比較單一。(2)軟件實(shí)現(xiàn)方式軟件實(shí)現(xiàn)方式是指運(yùn)行于底層數(shù)據(jù)網(wǎng)環(huán)境之上的,完全用軟件來(lái)實(shí)現(xiàn)的多媒體教學(xué)系統(tǒng),多媒體的影音信號(hào)及控制信號(hào)均通過(guò)底層數(shù)據(jù)網(wǎng)進(jìn)行傳輸。軟件版的多媒體教學(xué)系統(tǒng)通過(guò)一套專門設(shè)計(jì)的軟件,利用計(jì)算機(jī)網(wǎng)絡(luò),來(lái)實(shí)現(xiàn)原來(lái)硬件多媒體教學(xué)系統(tǒng)的所有功能。此方式的特點(diǎn)是成本低,無(wú)需添加其它附件,安裝維護(hù)簡(jiǎn)單,軟件版本容易升級(jí),可實(shí)現(xiàn)多種功能,但由于圖像傳輸需經(jīng)過(guò)壓縮/解壓縮技術(shù)完成,故對(duì)計(jì)算機(jī)硬件配置及網(wǎng)絡(luò)速度有較高限定要求。目前軟件方式在圖像和聲音傳輸效果,尤其語(yǔ)音教學(xué)功能方面還有待于進(jìn)一步提高與完善。(3)軟硬件結(jié)合實(shí)現(xiàn)方式軟硬件結(jié)合實(shí)現(xiàn)方式是通過(guò)在每臺(tái)計(jì)算機(jī)中加裝一塊多媒體網(wǎng)卡,并用專門的多媒體傳輸網(wǎng)線將每臺(tái)計(jì)算機(jī)串接起來(lái),以此來(lái)實(shí)現(xiàn)多媒體影音信號(hào)的獨(dú)立通道傳輸。這樣就確保了影像的同步全屏傳輸,并且對(duì)學(xué)生機(jī)的硬件配置要求不高,不需要加聲卡,多媒體網(wǎng)卡上自帶語(yǔ)音功能。此方式成本太高,而且由于多媒體控制信號(hào)仍需借助底層數(shù)據(jù)網(wǎng)實(shí)現(xiàn)傳輸,每臺(tái)計(jì)算機(jī)中需安裝軟件驅(qū)動(dòng)程序,整個(gè)系統(tǒng)安裝、維護(hù)起來(lái)有一定的難度,需具有一定的網(wǎng)絡(luò)知識(shí)。基于網(wǎng)絡(luò)設(shè)計(jì)的軟件多媒體教學(xué)系統(tǒng)是多媒體網(wǎng)絡(luò)教室的發(fā)展方向。1.3 選題的意義本課題針對(duì)多媒體教學(xué)模式由傳統(tǒng)的黑板教學(xué)模式向多媒體教學(xué)模式發(fā)展的新趨勢(shì),結(jié)合java在jbuilder平臺(tái)成熟的技術(shù),著重在于計(jì)算機(jī)匯集視聽(tīng)媒體于一身的發(fā)展,對(duì)多媒體教學(xué)系統(tǒng)做一些新的研究與應(yīng)用。傳統(tǒng)的電腦教室,一般輔以投影儀或硬件網(wǎng)絡(luò)系統(tǒng)來(lái)建立多媒體教學(xué)系統(tǒng),但由于高昂的成本和一些其它的原因,并不是一般教室可以配備的,而且硬件設(shè)備耗損大、維護(hù)繁瑣、升級(jí)麻煩都是令學(xué)校困擾的問(wèn)題,而作為一種純軟件的解決方案的多媒體教學(xué)系統(tǒng),完全避免了這些硬件問(wèn)題,而且教師可以把理論教學(xué)與實(shí)踐操作相結(jié)合,直接在教師機(jī)上進(jìn)行各種教學(xué)演示,并且把每一步操作過(guò)程都與實(shí)時(shí)同步傳送到學(xué)生的電腦屏幕上。各種大量的多媒體課件資料、光盤教學(xué)資源、實(shí)驗(yàn)演示系統(tǒng)、教學(xué)方法和經(jīng)驗(yàn)等都可以借助多媒體教學(xué)系統(tǒng)軟件這種匯集語(yǔ)言、圖片、文字、動(dòng)畫于一體的現(xiàn)代交互式教學(xué)模式實(shí)現(xiàn)了。可以在整個(gè)多媒體教室共享文字、圖像、語(yǔ)音、視頻資料。這樣,通過(guò)構(gòu)建一種文字、語(yǔ)音、視頻圖像的相互交流環(huán)境,學(xué)生可以同時(shí)在自己的電腦屏幕上分享各種教學(xué)資源,不但大大較少了教師端工作負(fù)擔(dān),提高了教學(xué)效率,而且也使教學(xué)內(nèi)容及其生動(dòng)活潑,學(xué)生樂(lè)于接受。目前,國(guó)內(nèi)已經(jīng)有一些相對(duì)成熟的教學(xué)軟件,比如凌波多媒體網(wǎng)絡(luò)教室軟件和博智多媒體電子教室系統(tǒng),這些軟件都有很強(qiáng)大的功能,而且操作方便;但是,這些軟件在市場(chǎng)上都有著昂貴的價(jià)格,而且操作系統(tǒng)依賴強(qiáng)。介于這些軟件以上的缺點(diǎn),本課題選擇用一種更新更快捷的語(yǔ)言java來(lái)實(shí)現(xiàn)。并且是根據(jù)本校的實(shí)際情況,量身定做,使它更加符合本校多媒體教學(xué)的要求,以進(jìn)一步提高本校多媒體教學(xué)質(zhì)量。1.4課題目標(biāo)多媒體教學(xué)系統(tǒng)利用計(jì)算機(jī)教室現(xiàn)有的電腦網(wǎng)絡(luò)設(shè)備,實(shí)現(xiàn)教師機(jī)對(duì)學(xué)生機(jī)的廣播、監(jiān)控、語(yǔ)音教學(xué)等操作,輔助學(xué)生完成電腦軟件的學(xué)習(xí)和使用。多媒體教學(xué)系統(tǒng)適用于各類學(xué)校以及企事業(yè)單位、培訓(xùn)機(jī)構(gòu)的電腦機(jī)房、計(jì)算機(jī)網(wǎng)絡(luò)教室及電子閱覽室中。本課題要實(shí)現(xiàn)以下功能:屏幕廣播:實(shí)時(shí)傳送教師或某個(gè)學(xué)生的電腦畫面到某組或全體學(xué)生的電腦屏幕上,教師可以用這個(gè)功能進(jìn)行多媒體課件的教學(xué),演示word、sql數(shù)據(jù)庫(kù)等軟件的操作,還可以讓某個(gè)學(xué)生進(jìn)行示范; 屏幕錄制:錄制上課內(nèi)容以便制作教學(xué)視頻; 屏幕回放:對(duì)已錄制的內(nèi)容進(jìn)行網(wǎng)絡(luò)回放;教師端發(fā)布作業(yè):老師可以把要布置的作業(yè)放到所有已經(jīng)與教師機(jī)連接上的學(xué)生機(jī)上。學(xué)生端提交作業(yè):學(xué)生可以把相應(yīng)格式的文件發(fā)送到教師的電腦中;提問(wèn)、回答與討論:當(dāng)老師向?qū)W生提出問(wèn)題的時(shí)候,同學(xué)回答老師的問(wèn)題,當(dāng)同學(xué)有疑問(wèn)向老師請(qǐng)教的時(shí)候,老師幫同學(xué)解答問(wèn)題;顯示ip:顯示已和教師機(jī)連接的學(xué)生機(jī)的ip;屏幕監(jiān)視:讓教師對(duì)選中ip的學(xué)生機(jī)的電腦屏幕進(jìn)行實(shí)時(shí)監(jiān)視,教師可以不離開座位就了解學(xué)生的學(xué)習(xí)情況,實(shí)現(xiàn)對(duì)整個(gè)網(wǎng)絡(luò)上學(xué)生機(jī)的監(jiān)控與管理; 在線人數(shù):統(tǒng)計(jì)已經(jīng)與教師機(jī)連接上的學(xué)生機(jī)數(shù),以便老師了解學(xué)生到課情況;警告:教師機(jī)在對(duì)學(xué)生機(jī)進(jìn)行屏幕監(jiān)視的時(shí)候,發(fā)現(xiàn)學(xué)生沒(méi)有按照老師的要求進(jìn)行相關(guān)操作的時(shí)候,教師機(jī)可以使用命令對(duì)其進(jìn)行警告;關(guān)機(jī)、重啟、注銷:可以把選中ip的學(xué)生機(jī)關(guān)閉、重啟和注銷操作。第二章 系統(tǒng)開發(fā)于相關(guān)技術(shù)2.1 java語(yǔ)言與開發(fā)工具2.1.1java語(yǔ)言的特性本課題選擇java作為開發(fā)語(yǔ)言,因?yàn)樗哂忻嫦驅(qū)ο蟆⒎植际健⑵脚_(tái)無(wú)關(guān)、高性能、支持多線程等特性。2.1.2 jbuilder的特點(diǎn)本課題選擇jbuilder為開發(fā)平臺(tái),它具有以下特性:1jbuilder支持最新的java技術(shù),包括applets、jsp/servlets、javabean以及ejb(enterprise javabeans)的應(yīng)用。 2用戶可以自動(dòng)地生成基于后端數(shù)據(jù)庫(kù)表的ejb java類,jbuilder同時(shí)還簡(jiǎn)化了ejb的自動(dòng)部署功能。此外它還支持corba,相應(yīng)的向?qū)С绦蛴兄谟脩羧娴毓芾韎dl(分布應(yīng)用程序所必需的接口定義語(yǔ)言interface definition language)和控制遠(yuǎn)程對(duì)象。3jbuilder支持各種應(yīng)用服務(wù)器。jbuilder與inprise application server緊密集成,同時(shí)支持weblogic server,支持ejb 1.1和ejb 2.0,可以快速開發(fā)j2ee的電子商務(wù)應(yīng)用。 4利用jbuilder可創(chuàng)建(沒(méi)有專有代碼和標(biāo)記)純java2應(yīng)用。由于jbuilder是用純java語(yǔ)言編寫的,其代碼不含任何專屬代碼和標(biāo)記,它支持最新的java標(biāo)準(zhǔn)。 5jbuilder擁有專業(yè)化的圖形調(diào)試介面,支持遠(yuǎn)程調(diào)試和多線程調(diào)試,調(diào)試器支持各種jdk版本,包括j2me/j2se/j2ee。 jbuilder環(huán)境開發(fā)程序方便,它是純的java 開發(fā)環(huán)境,適合企業(yè)的j2se開發(fā)。2.2 本系統(tǒng)采用的圖像壓縮算法本系統(tǒng)采用用軟件編解碼的方法對(duì)圖像數(shù)據(jù)壓縮和解壓縮。在授課中屏幕圖像變化率很低,有時(shí)屏幕電子教案可能要延用幾分鐘。這種運(yùn)動(dòng)圖像信號(hào),除幀內(nèi)像素間相關(guān)外,幀與幀之間的像素值也有很強(qiáng)的相關(guān)性,且?guī)兓^平穩(wěn)。若能利用幀之間的數(shù)據(jù)相關(guān)性,通過(guò)特殊變換,屏蔽幀與幀之間的變化,使之表現(xiàn)為大量連續(xù)相同數(shù)據(jù),只保留差異,則使用簡(jiǎn)單高效的行程編碼就能得到較高的壓縮比。本系統(tǒng)對(duì)幀間編碼使用了兩種方案,一種是基于異或運(yùn)算的幀間無(wú)損壓縮,一種是基于差值量化的幀間有損壓縮。1基于異或運(yùn)算的無(wú)損壓縮:利用異或運(yùn)算性質(zhì)可知,令x為時(shí)刻獲取的屏幕圖像的像素值,y為時(shí)刻獲取的屏幕圖像的像素值,在傳送端,對(duì)兩幅圖像的像素按位進(jìn)行異或運(yùn)算,相同的像素異或結(jié)果為0。如果幀與幀之間的變化很少,則會(huì)出現(xiàn)大量連續(xù)的0。再用簡(jiǎn)單的行程編碼對(duì)異或結(jié)果進(jìn)行壓縮,可以得到較好的壓縮結(jié)果。傳輸壓縮后的數(shù)據(jù),在接收端接收并解壓縮,與上一幀圖像像素再次進(jìn)行異或運(yùn)算可還原該圖像。32基于差值量化的有損壓縮:由人的視覺(jué)、生理、心理學(xué)的論證可知,肉眼對(duì)大面積圖像能分辨出的灰度等級(jí)比對(duì)小塊圖像或細(xì)節(jié)部分的灰度等級(jí)大得多。亦即,如果相鄰像素的色值差別很小,人的眼睛無(wú)法分辨,可考慮將相鄰且相近的色值量化為1個(gè)色值。3第三章 多媒體教學(xué)平臺(tái)的設(shè)計(jì)3.1 需求分析3.1.1 現(xiàn)有教學(xué)系統(tǒng)的問(wèn)題目前,市場(chǎng)上現(xiàn)有的網(wǎng)絡(luò)多媒體教學(xué)系統(tǒng)成本相對(duì)較高,系統(tǒng)依賴性強(qiáng),針對(duì)本校的情況,如果要在每一個(gè)計(jì)算機(jī)教室都安裝這樣的系統(tǒng),那么超額的成本使這項(xiàng)工作難以進(jìn)行。針對(duì)這個(gè)問(wèn)題,研發(fā)一個(gè)具有自主知識(shí)產(chǎn)權(quán)的跨平臺(tái)的多媒體教學(xué)系統(tǒng)是一項(xiàng)勢(shì)在必行的工作。3.1.2 本系統(tǒng)功能模塊分析本系統(tǒng)采用c/s(client/server)模式。學(xué)生機(jī)作為client(客戶端),而教師機(jī)作為server(服務(wù)端)。教師機(jī)為學(xué)生機(jī)提供服務(wù),并對(duì)學(xué)生機(jī)進(jìn)行管理。本系統(tǒng)需要有教師機(jī)和學(xué)生機(jī)這兩個(gè)部分,教師端功能:屏幕廣播,教師端發(fā)布作業(yè),屏幕錄制,屏幕回放,屏幕監(jiān)視,提問(wèn)問(wèn)題、問(wèn)題答疑,顯示學(xué)生機(jī)的ip,在線人數(shù)統(tǒng)計(jì),網(wǎng)上聊天,發(fā)出警告,關(guān)機(jī)、重啟、注銷;學(xué)生端功能:學(xué)生端提交作業(yè),接受廣播,接受監(jiān)視,接受警告,接受關(guān)機(jī)、重啟和注銷,向老師請(qǐng)教問(wèn)題等。功能模塊如圖3-1:屏幕操作顯示學(xué)生ip顯示在線人數(shù)屏幕回放屏幕廣播屏幕錄制屏幕監(jiān)視遠(yuǎn)程控制發(fā)出警告遠(yuǎn)程關(guān)機(jī)聯(lián)機(jī)討論問(wèn)題聯(lián)機(jī)互動(dòng)提問(wèn)問(wèn)題遠(yuǎn)程注銷遠(yuǎn)程重啟回答問(wèn)題教師端教師端發(fā)布作業(yè)屏幕操作學(xué)生端聯(lián)機(jī)互動(dòng)接受警告接受遠(yuǎn)程控制學(xué)生端提交作業(yè)接受屏幕廣播接受屏幕監(jiān)視接受遠(yuǎn)程關(guān)機(jī)接受遠(yuǎn)程重啟接受遠(yuǎn)程注銷聯(lián)機(jī)討論問(wèn)題向老師請(qǐng)教問(wèn)題回答老師提問(wèn)的問(wèn)題圖3-1 功能模塊圖3.2 系統(tǒng)基本結(jié)構(gòu)本系統(tǒng)的設(shè)計(jì)主要是針對(duì)局域網(wǎng)內(nèi)一臺(tái)教師機(jī)和多臺(tái)學(xué)生機(jī)的模型,教師機(jī)充當(dāng)服務(wù)器的角色,學(xué)生機(jī)充當(dāng)客戶機(jī)的角色,其系統(tǒng)的基本結(jié)構(gòu)示意圖如圖3-2所示:圖3-2 系統(tǒng)結(jié)構(gòu)示意圖3.3協(xié)議設(shè)計(jì)的模型基于udp多媒體轉(zhuǎn)輸協(xié)議設(shè)計(jì)的模型系統(tǒng),與rtp/rtcp協(xié)議相比,系統(tǒng)設(shè)計(jì)的時(shí)候簡(jiǎn)化了排序處理等流程,同樣采用了客戶端/服務(wù)器模型。下面分別給出服務(wù)器的發(fā)送程序流程圖和客戶機(jī)的接收流程圖,如圖3-3和圖3-4所示。否是是是否否開始獲取一幀視頻數(shù)據(jù)發(fā)送數(shù)據(jù)包頭添加數(shù)據(jù)包頭生成數(shù)據(jù)包頭視頻數(shù)據(jù)等分為若干數(shù)據(jù)包獲取成功發(fā)送完畢結(jié)束結(jié)束圖3-3 服務(wù)器的發(fā)送程序流程圖發(fā)送端首先獲取經(jīng)過(guò)壓縮的一幀視頻數(shù)據(jù),遞交給udp分組處理。然后將一幀視頻數(shù)據(jù)按照要求分解為適合網(wǎng)絡(luò)傳輸?shù)囊幌盗行〉臄?shù)據(jù)包,并加上此協(xié)議的分組包頭,其中包括數(shù)據(jù)包的順序號(hào)、時(shí)間戳,視頻數(shù)據(jù)的壓縮格式等參數(shù),然后完成發(fā)送。發(fā)送端根據(jù)接收端反饋的延遲估計(jì)和接收質(zhì)量報(bào)告調(diào)整發(fā)送速度。客戶端從端口獲取數(shù)據(jù)包后寫入接收緩沖區(qū)。根據(jù)數(shù)據(jù)包頭信息確認(rèn)數(shù)據(jù)包是否丟失,做出相應(yīng)處理。由于在發(fā)送端控制每個(gè)發(fā)送的數(shù)據(jù)包小于1024字節(jié),所以在止常的網(wǎng)絡(luò)狀況下傳輸?shù)难舆t比較小。而且由于發(fā)送的數(shù)據(jù)包大小一樣,并且嚴(yán)格控制數(shù)據(jù)包發(fā)送的時(shí)間間隔,傳輸抖動(dòng)現(xiàn)象發(fā)生的可能性很小。所以,在客戶端只按照接收到的數(shù)據(jù)包的序列號(hào)的順序判斷是否有丟失現(xiàn)象發(fā)生。如果接收的數(shù)據(jù)包是有序的,則認(rèn)為沒(méi)有丟失現(xiàn)象發(fā)生加果接收的數(shù)據(jù)包是亂序的,則作為丟失數(shù)據(jù)包處理。經(jīng)過(guò)查閱相關(guān)資料證明了這種處理方法是簡(jiǎn)單有效的。再接收到一個(gè)完整的幀數(shù)據(jù)的所有分組后,根據(jù)序列號(hào)是否連續(xù)判斷是否發(fā)生數(shù)據(jù)包的丟失,分離數(shù)據(jù)包頭,最后恢復(fù)成一幀完整的視頻數(shù)據(jù),再根據(jù)縮格式標(biāo)記送往相應(yīng)的解碼流程。是否否是否是開始丟失這幀數(shù)據(jù)解碼提示回復(fù)一幀數(shù)據(jù)分離數(shù)據(jù)包頭寫入緩沖區(qū)讀數(shù)據(jù)包頭序列號(hào)讀出端口數(shù)據(jù)是否丟失數(shù)據(jù)接收完畢結(jié)束結(jié)束圖3-4 客戶端的發(fā)送程序流程圖第四章 多媒體教學(xué)平臺(tái)的實(shí)現(xiàn)4.1 屏幕錄制由于屏幕截取比較接近操作系統(tǒng)的操作,在windows操作系統(tǒng)下,該操作幾乎成了vc、vb等的專利,事實(shí)上,使用java jdk提供的一個(gè)robot類,來(lái)完成屏幕截取操作,更加簡(jiǎn)單。robot類的對(duì)象,可以完成對(duì)屏幕像素的拷貝,完成屏幕圖像截取操作。該類用于產(chǎn)生與本地操作系統(tǒng)有關(guān)的底層輸入、測(cè)試應(yīng)用程序運(yùn)行或自動(dòng)控制應(yīng)用程序運(yùn)行。robot類提供了一個(gè)方法:createscreencapture(),可以直接將全屏幕或某個(gè)屏幕區(qū)域的像素拷貝到一個(gè)bufferedimage對(duì)象中,我們只需要將該對(duì)象寫入到一個(gè)圖像文件之中,就完成了屏幕到圖像的拷貝過(guò)程。循環(huán)這個(gè)操作,將一系列圖像文件保存到硬盤上的某個(gè)文件夾中,這樣就可以完成屏幕錄制了,在本課題軟件中捕獲的是全屏幕區(qū)域。實(shí)現(xiàn)的流程圖如圖4-1所示:否是開始用robot.createscreencapture()進(jìn)行圖像捕獲把捕獲后的圖像存放到圖像數(shù)據(jù)緩沖區(qū)bufferedimage圖像編碼保存成jpg格式錄制完成結(jié)束通過(guò)fileoutputstream文件輸出流往指定的文件夾寫入圖片關(guān)閉輸出流睡眠40毫秒圖4-1 屏幕錄制執(zhí)行過(guò)程流程圖/取得當(dāng)前顯示器的分辨率:screensize = toolkit.getdefaulttoolkit().getscreensize();/獲得屏幕大小rectangle = new rectangle(screensize); /可以捕獲屏幕區(qū)域/實(shí)現(xiàn)錄制過(guò)程的主要代碼如下:while (true) try bufferedimage image = robot.createscreencapture(rectangle); /把捕獲到的指定屏幕矩形區(qū)域圖像存放到可訪問(wèn)的圖像數(shù)據(jù)緩沖區(qū)image,createscreencapture捕獲指定屏幕矩形區(qū)域的圖像 fos = new fileoutputstream(c:records + i + .jpg);/創(chuàng)建一個(gè)文件輸出流對(duì)象,往指定的文件里面寫圖片 /fileoutputstream創(chuàng)建一個(gè)向指定 file 對(duì)象表示的文件中寫入數(shù)據(jù)的文件輸出流 jpegcodec.createjpegencoder(fos).encode(image);/圖像編碼成jpeg fos.close();/關(guān)閉輸出流 i = i + 1;/進(jìn)行下一張的圖片寫入 thread.sleep(40);/每秒25幀,每40毫秒保存一張 當(dāng)在主界面上點(diǎn)擊“屏幕錄制”按鈕的時(shí)候,會(huì)彈出一個(gè)錄制的對(duì)話框,效果如圖4-2所示:圖4-2 屏幕錄制界面4.2 屏幕播放屏幕播放可以讓教師預(yù)先錄制好屏幕圖像,以jpg格式的圖片形式存儲(chǔ),以后通過(guò)“屏幕回放”功能可以進(jìn)行播放,再現(xiàn)錄制時(shí)的屏幕圖像畫面。這既可以方便老師提前備課,又解決了學(xué)生跟不上教學(xué)進(jìn)度的問(wèn)題,還可以讓學(xué)生在課余的時(shí)間自己去溫習(xí)上課的內(nèi)容,極大提高教學(xué)效率這個(gè)功能是建立在屏幕錄制之后的,把屏幕錄制保存下來(lái)的一系列連續(xù)的圖片調(diào)出來(lái)并與屏幕錄制相同的速度顯示在電腦屏幕上,這樣就可以看到之前錄制的屏幕了。其實(shí)現(xiàn)的流程圖如圖4-3如下:否是開始取得要播放圖片的文件夾從序號(hào)0開始取一張的圖片把圖片顯示到屏幕上播放完成結(jié)束按錄制時(shí)的先后順序從0開始編號(hào)圖片睡眠40毫秒取下一張圖片圖4-3 屏幕播放執(zhí)行過(guò)程流程圖實(shí)現(xiàn)的主要代碼如下:public void run()int i = 0;/定義圖片從序號(hào)0開始 while(true) try cimage = loadimage(i + .jpg);/取得一張圖片 i = i + 1; repaint();/重繪 thread.sleep(40);/與錄像時(shí)每秒幀數(shù)一致catch(exception e) e.printstacktrace();/打印異常的消息 system.out.println(e); 當(dāng)在主界面上點(diǎn)擊“屏幕播放”按鈕的時(shí)候,就會(huì)看到一個(gè)播放的對(duì)話框,效果如圖4-4所示:圖4-4 屏幕播放界面圖4.3教師機(jī)與學(xué)生機(jī)的連接市場(chǎng)上的很多軟件(如本校計(jì)算機(jī)教室用到的凌波多媒體教學(xué)軟件),如果教師機(jī)比學(xué)生機(jī)先啟動(dòng)的話,后啟動(dòng)的學(xué)生機(jī)就連接不上教師機(jī)了。本系統(tǒng)克服了這一缺點(diǎn):不管學(xué)生機(jī)先啟動(dòng)還是教師機(jī)先啟動(dòng),教師機(jī)與學(xué)生機(jī)都能自動(dòng)連接。本系統(tǒng)采用了套接字socket機(jī)制,分別在教師端程序和學(xué)生端程序里面寫了一個(gè)連接文件clientsocket.java,這個(gè)就是克服以上缺點(diǎn)的重點(diǎn)方法。而且程序里面用到一個(gè)端口和ip的構(gòu)造函數(shù),并沒(méi)有對(duì)方機(jī)子的端口號(hào)和ip綁定,所以在運(yùn)行軟件的時(shí)候,不需要進(jìn)行物理的設(shè)計(jì)端口號(hào)和ip。其實(shí)現(xiàn)的代碼如下: public clientsocket(string ip, int port) /構(gòu)造函數(shù),ip地址和端口號(hào) this.ip=ip; this.port=port; /創(chuàng)建socket連接: public void createconnection()throws exception try socket=new socket(ip,port); catch(exception e) e.printstacktrace(); if(socket!=null)socket.close(); throw e; finally 創(chuàng)建了socket連接了之后,用方法getmessagestream()來(lái)取得消息流;當(dāng)服務(wù)器窗口關(guān)閉或者關(guān)閉socket或者無(wú)法取得消息流的時(shí)候,用方法shutdowconnection()來(lái)實(shí)現(xiàn)斷開連接。當(dāng)實(shí)現(xiàn)連接后,學(xué)生端會(huì)顯示:“教師端已經(jīng)連接”,如圖4-5右下角所示:圖4-5 學(xué)生機(jī)實(shí)現(xiàn)連接后的界面圖同時(shí),教師端也會(huì)顯示所連上的學(xué)生機(jī)的ip,如圖4-6左上角所示:圖4-6 學(xué)生機(jī)ip已顯示的教師端界面圖由于教師端和學(xué)生端用到的是同一個(gè)socket文件來(lái)實(shí)現(xiàn)連接,所以只有上面的程序,也只能實(shí)現(xiàn)教師機(jī)和學(xué)生機(jī)的一對(duì)一的連接,根本無(wú)法實(shí)現(xiàn)一臺(tái)教師機(jī)連接多臺(tái)學(xué)生機(jī)的設(shè)想。因此,本系統(tǒng)在教師端程序中還采用了多線程機(jī)制,實(shí)現(xiàn)接收連接或者主動(dòng)連接多臺(tái)學(xué)生機(jī)。/創(chuàng)建廣播通信:multicastsocket multicastsocket = new multicastsocket(6789);/加入廣播組:multicastsocket.joingroup(inetaddress);4.4屏幕廣播廣播功能將教師機(jī)屏幕上的畫面?zhèn)鬏斀o所有學(xué)生機(jī)。教師在不進(jìn)行額外設(shè)置的情況下,對(duì)桌面所操作的畫面、屏幕播放的畫面進(jìn)行有效截取。屏幕的截取主要使用的是java.util.robot類來(lái)捕獲屏幕,可以實(shí)現(xiàn)對(duì)屏幕進(jìn)行一個(gè)全屏捕捉,代碼如下:public icon capturefullscreen() fullscreenimage = robot.createscreencapture(new rectangle( toolkit.getdefaulttoolkit().getscreensize();/捕獲屏幕圖像 imageicon icon = new imageicon(fullscreenimage); return icon; /把捕獲的桌面圖像以jpeg的格式進(jìn)行存儲(chǔ):public void saveasjpeg(file file) throws ioexception imageio.write(getpickedimage(),jpeg,file);/將捕獲的屏幕保存為jpeg格式的文件 public void write(outputstream out) throws ioexception imageio.write(getpickedimage(),defaultimageformater,out); /將捕獲的屏幕保存為默認(rèn)格式的文件圖像信息進(jìn)行在存儲(chǔ)的同時(shí)也進(jìn)行了快速壓縮,在確保圖片質(zhì)量的同時(shí)降低傳輸?shù)男畔⒘俊4a如下:/為等比縮放計(jì)算輸出的圖片寬度及高度double rate1 = (double) srcfile.getwidth(null) / (double) width+ 0.1; double rate2 = (double) srcfile.getheight(null) / (double) height+ 0.1;double rate = rate1 rate2 ? rate1 : rate2;int new_w = (int) (double) srcfile.getwidth(null) / rate);int new_h = (int) (double) srcfile.getheight(null) / rate);bufferedimagetag=newbufferedimage(new_w,new_h,bufferedimage.type_int_rgb); /創(chuàng)建緩沖區(qū)圖像bufferedimage的一個(gè)對(duì)象tag.getgraphics().drawimage(srcfile, 0, 0, new_w, new_h, null); /繪制縮小后的圖newimage=new imageicon(tag);/設(shè)計(jì)壓縮之后臨時(shí)存放的位置:fileoutputstream out = new fileoutputstream(screen.jpg);jpegimageencoder encoder = jpegcodec.createjpegencoder(out);/對(duì)輸出流進(jìn)行jpeg格式編碼jpegencodeparam jep = jpegcodec.getdefaultjpegencodeparam(tag);/進(jìn)行壓縮質(zhì)量的處理:jep.setquality(quality, true);encoder.encode(tag, jep);out.close();srcfile.flush();當(dāng)圖片處理完之后,采用udp傳輸協(xié)議對(duì)數(shù)據(jù)進(jìn)行傳輸,有效地進(jìn)行組播。本系統(tǒng)設(shè)計(jì)發(fā)送數(shù)據(jù)報(bào)文方法如下所示:public void sendmuticast(string s) try byte b=s.getbytes(); inetaddress inetaddress=inetaddress.getbyname();/組播組: datagrampacket datagrampacket =new datagrampacket(b,b.length, inetaddress,6789); /構(gòu)造一個(gè)數(shù)據(jù)報(bào)對(duì)象,端口號(hào):6789 multicastsocket multicastsocket = new multicastsocket(); multicastsocket.send(datagrampacket); /發(fā)送該udp 包。此時(shí):只有該組中的成員才能收到該udp包 multicastsocket.close() ; /關(guān)閉組播的socket catch(exception e) system.out.println(error in sender.javas sendmuticast+e); 其組播流程如圖4-7所示:是否開始關(guān)閉multicastsocket離開組播解碼數(shù)據(jù)報(bào)提取信息等待接收數(shù)據(jù)報(bào)發(fā)送multicastsocket加入一個(gè)組播組建立multicastsocket創(chuàng)建數(shù)據(jù)發(fā)送完畢結(jié)束圖4-7 組播程序流程圖同時(shí),用一個(gè)專門的廣播線程,將屏幕廣播發(fā)到學(xué)生端,其實(shí)現(xiàn)的代碼如下:while(iswork) try screencapture capture = screencapture.getinstance(); fafa.setscreen(capture.getfullicon(); /發(fā)送屏幕廣播到學(xué)生端 fafa.sendimage(); fafa.sendteacher(); sleep(1000); catch(exception e) 廣播發(fā)出之后,在學(xué)生端用函數(shù)screenbroadcastclient()來(lái)接收教師端的廣播,其實(shí)現(xiàn)的代碼如下:public screenbroadcastclient() mypanel=new mypanel(); this.getcontentpane().add(mypanel); this.clock.start(); this.setdefaultcloseoperation(this.exit_on_close); 屏幕廣播實(shí)現(xiàn)的效果圖如圖4-8所示:圖4-8 屏幕廣播效果圖4.5 教師端發(fā)布作業(yè)發(fā)布文件功能主要是用于課堂上,當(dāng)老師要給學(xué)生布置作業(yè)或者參考資料時(shí),把相應(yīng)格式的文件發(fā)送到所有連接上教師機(jī)的學(xué)生機(jī)上。發(fā)布文件功能的實(shí)現(xiàn)基本思路如下:1.教師端和學(xué)生端建立連接;2.教師端把要發(fā)送的相應(yīng)格式的文件拷貝到教師機(jī)下面的臨時(shí)文件夾中;3.教師端往學(xué)生端發(fā)送已經(jīng)準(zhǔn)備好可以下載的命令;4.學(xué)生端接收到教師端發(fā)送過(guò)來(lái)的命令后,調(diào)用方法主動(dòng)從教師端下載文件。發(fā)布文件流程圖如圖4-9,如下所示:否是是否是否教師端發(fā)送命令是否連接成功開始結(jié)束調(diào)用下載方法,主動(dòng)去教師端下載udp發(fā)送是否關(guān)閉教師端等待學(xué)生端連接學(xué)生端接收到命令是否已下載完畢圖4-9 發(fā)布文件流程圖教師端主要代碼:string filename=setfile.getfile();/獲取文件名string ff=setfile.getdirectory()+filename;/獲取文件全路徑copyfilefrom(ff); /拷貝文件到本地目錄/發(fā)送通知報(bào)文 string cmd=downloadhomework;/定義用于發(fā)送給學(xué)生端的downloadhomework命令 cmdparser ss=new cmdparser();/聲明了一個(gè)封裝命令方法ss對(duì)象 string msg=ss.formatcmd(cmd,filename,getlocalip(),student); /定義msg信息 sendmsg kl=new sendmsg();/實(shí)例化sendmsg kl.sendmuticast(msg); /發(fā)送信息教師端的主代碼中調(diào)用了copyfilefrom()方法,在copyfilefrom()中,定義了一個(gè)緩存區(qū)temp,教師端把將要發(fā)布給學(xué)生的文件臨時(shí)存放到temp中,并等待學(xué)生端來(lái)下載,在等待的同時(shí),向?qū)W生端發(fā)送通知下載報(bào)文。學(xué)生端接收到通知后,調(diào)用下載命令去下載文件,主要代碼如下:if(cmd.equals(downloadhomework)/如果教師端發(fā)布downloadhomework命令string filename=fafa.getcontent(muticastmsg); student.downloadhomework(filename);/調(diào)用downloadhomework()方法進(jìn)行下來(lái) downloadhomework()方法的重要代碼如下:public void downloadhomework(string home) /啟動(dòng)文件下載線程 string command=http:/+this.teacherip+:8088/temp; httpdownload fafa=new httpdownload(command,home,this); fafa.start(); httpdownload下載方法的主要代碼如下:byte b=new byte1024;int nread;dataoutputstream fileout=newdataoutputstream(newfileoutputstream(objname);while(nread=input.read(b)0) ) fileout.write(b); fileout.close(); stu.modemsg.addelement(老師已經(jīng)把作業(yè)+objname+發(fā)布到學(xué)生端在的文件夾!);在教師端點(diǎn)擊發(fā)送文件時(shí)會(huì)彈出文件選擇對(duì)話框,如圖4-10所示:圖4-10文件選擇對(duì)話框教師端給學(xué)生端發(fā)布完文件后的提示對(duì)話框如果4-11所示:圖4-11 發(fā)布完文件后的對(duì)話框當(dāng)教師端發(fā)布完文件后,已接收到文件的學(xué)生端會(huì)在文本討論區(qū)顯示:老師已經(jīng)把作業(yè)xx發(fā)布到學(xué)生端所在的文件夾。學(xué)生端所在的文件夾就是安裝本軟件所在的文件夾。顯示效果如圖4-12所示:圖4-12教師端發(fā)布完作業(yè)后學(xué)生端的消息顯示圖4.6學(xué)生端提交作業(yè)學(xué)生端跟教師端連接上之后,學(xué)生端就可以往教師端發(fā)送文件。學(xué)生端在選擇文件之后,點(diǎn)擊上傳,學(xué)生端對(duì)文件進(jìn)行封裝后通過(guò)udp傳輸,文件會(huì)保存到教師端的文件夾下。其流程圖如圖4-13所示:否是開始保存到教師端指定的文件夾udp傳輸取得文件,進(jìn)行封裝執(zhí)行提交作業(yè)命令上傳成功結(jié)束圖4-13提交作業(yè)執(zhí)行過(guò)程流程圖實(shí)現(xiàn)提交作業(yè)的主要代碼如下:file fi=new file(filepath);/ 構(gòu)建新的bufferedreader對(duì)象s=ss.accept();/監(jiān)聽(tīng)是否與教師機(jī)連接datainputstreamdis=newdatainputstream(newbufferedinputstream(s.getinputstream();/s.getinputstream()獲得網(wǎng)絡(luò)連接輸入,同時(shí)返回一個(gè)iutputstream對(duì)象實(shí)例dis.readbyte();datainputstream fis=new datainputstream(new bufferedinputstream(new fileinputstream(filepath);dataoutputstreamps=newdataoutputstream(s.getoutputstream();/s.getoutputstream()網(wǎng)絡(luò)連接輸出p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論