亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用JAVA編制電子白板軟件

2019-11-18 13:28:06
字體:
來源:轉載
供稿:網友

  ----隨著Internet的迅速發展,在Email、WWW、FTP等傳統的非實時應用日趨成熟的同時,廣大網絡用戶對在線實時交流的需求不斷擴大,如網上會議、遠程教學、協同工作等。這方面的應用軟件也日益豐富起來。該類軟件主要分為兩類,一種是以目前BBS和主頁上的聊天室為代表的純文字型的交流工具;另一種就是本文要介紹的電子白板類交流工具。電子白板除了具備聊天室的全部功能外,更重要的是,它還引入了繪畫圖形交流功能,使網上交流的形象性和直觀性大大加強了,彌補了文字交流的不足。當分布在Internet不同位置的用戶用白板進行交流時,一個人在自己的白板上繪制的圖形可以馬上在別人的白板上顯示出來,好象大家都在同一塊白板上繪畫,彼此間的距離感大大縮短了。
  
  ----目前具有電子白板功能的軟件有微軟的Netmeeting等。此類軟件在使用前需要用安裝盤安裝(Netmeeting是InternetEXPlorer4.0的選裝件),在設置完成后才能使用。相比而言,在主頁中用javaApplet實現白板功能就顯得優勢很大。因為它不需要傳統軟件的下載、安裝和設置的繁瑣步驟,只要用支持JAVA的瀏覽器連接到該Applet所在主頁,就可以使用白板。用于瀏覽器的普及性(大部分常用瀏覽器都支持JAVA,如InternetExploer3.0與NetscapeNavigator3.0及以上版本)使得這種電子白板的潛在客戶群是巨大的。此外,用JAVA編制電子白板軟件還有一個顯而易見的優勢,就是整個軟件(尤其是白板服務器)無須重新修改編譯就可在NT、Unix、linux等支持JAVA的平臺上運行。
  
  ----目前基于瀏覽器和JAVA的電子白板正處于起步階段,筆者尚未在網上看到該類軟件。由于工作需要,筆者自行開發了一套此類電子白板軟件。這里想將開發中的一些經驗介紹給大家,以達到共同交流的目的。
  
  工作原理
  ----電子白板有兩種實現模型,一種是無白板服務器,因此僅支持兩個用戶直接連結;另一種是有白板服務器,原則上不限制同時上線人數和交談室個數,具體實現上可視服務器性能和需要而定。本文要介紹屬于后者。
  
  ----當用戶需用白板與他人交流時,需要先用瀏覽器連到Applet所在主頁,Applet運行后會連接到該白板服務器,和服務器建立TCP連接。每個用戶可以在自己的白板上(嵌在Applet畫面中)繪制圖形和輸入文字,Applet會將這些信息通過已建立的網絡連接發往白板服務器,并不斷偵聽、接收來自白板服務器的圖形和文字信息,將其再現在用戶的白板中。白板服務器的作用是不斷偵聽、接收來自各Applet的信息,并將其轉發給其他用戶。
  
  ----由于瀏覽器對JAVAApplet的限制,使得Applet只能訪問發送該Applet的宿主主機,因此只能在該Applet所在主機上運行白板服務器,使得Applet能建立和遠程白板服務器的聯系。
  
  功能設計
  ----一個實用的電子白板系統應該具備以下基本功能:
  
  用戶在瀏覽到白板主頁時,需登錄后才能進行交流。這將提供交流時用的名字,必要時還可做權限檢查。
  
  用戶能夠根據交談室的交談主題選擇參加和退出現有的交談室,并且能建立新的交談室??梢愿鶕撾娮影装逑到y的應用領域和需要附加一些權限設置。
  
  用戶只能和在同一交談室中的用戶交流。一個交談室的信息對于別的交談室是不可見的。
  
  白板應至少具有一些如更換畫筆顏色、清除畫板(僅影響自己的白板)等方便用戶的功能。
  
  白板應具有一個操作提示和操作信息反饋欄,對用戶顯示一些操作提示和操作結果信息,這樣可以方便用戶使用。
  
  用戶應能暫停和恢復自己的白板工作。
   
  
  ----為了增加白板的實用價值,可以考慮增加如與windows畫筆工具類似的畫正方形、圓形等類似功能。本例作為電子白板基本模型的建立,故沒有加入這些功能。實際上,只要了解了下面要介紹的白板通訊協議集的設計原則,增加以上功能是非常輕易的。
  
  通訊協議集的制定
  ----由于JAVA內置的標準基礎通訊協議是TCP/ip,所以我們只需在其基礎上建立電子白板的應用層協議集。協議集的模型將采用服務器/客戶機的請求/應答模式??梢愿鶕枰獙崿F的白板功能制定通訊協議集,協議集中包括登錄、圖形傳輸(分服務器發出和客戶機發出兩部分)、文字傳輸(分服務器發出和客戶機發出兩部分)、服務器要求刷新交談室及成員名單、客戶機要求刷新交談室及成員名單、加入指定交談室、退出交談室、建立新交談室、暫停/恢復交流等部分。
  
  ----由于已經依靠TCP/IP協議保證數據傳輸的正確性,所以在這個電子白板的通訊協議集的設計中應在保證功能的前提下盡量簡潔,來提高帶寬利用率。白板通訊協議集的細節可參考如下:
  
  ----注重:(S)表示該部分由服務器發出,客戶機接收;
  
  ----(C)表示該部分由客戶機發出,服務器接收;
  
  ----數據格式表示:引號之間表示字符串,(short)表示短整形數(2字節),(int)表示標準整形數(4字節)。
  
  登錄(C):"log"→用戶名字符串。
  
  圖形傳輸(客戶機發出)(C):"draw"→(int)顏色值→(short)直線起點橫坐標→(short)直線起點縱坐標→(short)直線終點橫坐標→(short)直線終點縱坐標。
  
  圖形傳輸(服務器發出)(S):"draw"→(int)顏色值→(short)直線起點橫坐標→(short)直線起點縱坐標→(short)直線終點橫坐標→(short)直線終點縱坐標。
  
  文字傳輸(客戶機發出)(C):"text"→用戶在白板對話框中輸入的文字字符串。
  
  文字傳輸(服務器發出)(S):"text"→文字輸入者姓名字符串→該用戶輸入的文字字符串。
  
  服務器要求刷新交談室及成員名單(S):"refresh"→交談室1主題字符串→交談室1中的用戶1姓名字符串→交談室1中的用戶2姓名字符串→...→"complete"→交談室2主題字符串→交談室2中的用戶1姓名字符串→交談室2中的用戶2姓名字符串→...→"complete"→...→最后一個交談室主題字符串→最后一個交談室中的用戶1姓名字符串→最后一個交談室中的用戶2姓名字符串→...→"complete"→"ok"。
  
  客戶機要求刷新交談室及成員名單(C):"refresh"。(服務器收到此命令,會執行前面的服務器要求刷新交談室及成員名單子協議,以響應客戶機請求)
  
  加入指定交談室(C):"join"→申請加入的交談室主題字符串。
  
  退出交談室(C):"quit"。
  
  建立新交談室(C):"new"→申請建立的新交談室主題字符串。(服務器收到此命令,會自動在該用戶原來所在的交談室中注銷,并使該用戶成為新交談室的一員)
  
  暫停交流(C):"pause"。
  
  恢復交流(C):"continue"。
   
  
  ----以上為本電子白板軟件所遵循的通訊協議集。這個協議集的可擴充性很強,可以隨時按增加的功能擴充協議集。例如需要傳送圓形圖案,則可將如下協議加到協議集中:"circle"→(int)顏色值→(short)圓心橫坐標→(short)圓心縱坐標→(short)圓半徑。
  
  編程實現
  ----程序設計分服務器JAVAapplication和客戶端JAVAApplet兩部分進行。
  
  ----編程中需要注重以下幾點:
  
  服務器程序不要采用客戶端接入時建立用戶線程,退出交談室時銷毀線程的工作流程。因為有些操作系統的線程操作機制不夠健全,在線程銷毀時線程所占資源不能被完全釋放,以致于在白板服務器運行的過程中將逐漸消耗掉系統資源。所以應在服務器初始化時按照最大答應同時上線的用戶數建立所有用戶服務線程。這些線程將等待客戶端接入,當用戶退出交談室時線程并不銷毀,而是清除用戶數據,重新進入等待接入狀態,預備為下一個用戶服務。這樣就保證了白板服務器可以長期可靠運行。
  
  當用戶在白板上連續繪畫時可能產生大量的圖形數據,客戶端Applet若在白板的AWT事件處理程序中完成將這些數據傳輸給服務器的任務,則很有可能由于網絡I/O的瓶頸作用,使得AWT事件處理線程受阻,從而影響白板Applet、瀏覽器、其他正在運行的應用軟件的界面相應性。解決的辦法就是使Applet再建立一個后臺繪圖數據傳輸線程,白板的AWT事件處理程序將用戶的繪圖數據通過管道流(PipedStream)傳輸給這個線程后就返回,把網絡傳輸的任務留給這個線程進行。
  
  在服務器和客戶端Applet中,協議集每一個子協議的實現都要分別建立一個同步塊(synchronize),該子協議的全部操作都要在這個同步塊內完成,以限制自由訪問網絡接插建立的輸入流和輸出流。使得當一個線程執行一個子協議時能夠獨占這些網絡資源,而使別的線程不能訪問這些資源,以保證線程能夠完整正確地執行子協議。但是由于同步操作會降低線程調度和執行效率,所以要在確保子協議完整執行的前提下盡量縮小同步代碼塊的范圍。
  
  由于協議集中的數據類型既有字符串又有整形數,因此在程序中選用DataInputStream和DataOutputStream作為數據輸入流和輸出流。此外,由于UTF格式的文本支持中文字符集,且在字符串中已包含長度信息,可以方便數據讀取,故在本程序的網絡通信中的字符串全部采用UTF格式。設計自己的白板程序時,可以根據需要換用其他文本格式和編碼規則,但一定要保證輸入流和輸出流采用的是同一種格式和編碼。
  
  考慮到目前NetscapeNavigator3.0和InternetExplorer3.0目前仍普遍使用,而這兩種瀏覽器的JAVA虛擬機都不支持較新的JDK1.1標準,所以在本程序的客戶機Applet部分中沒有使用JDK1.1特有的類庫。
   
  
  ----首先介紹服務器程序的編制。需確定主要的幾個類及其成員函數。列表如下:
  ----ChatServer類:
  ----服務器程序的啟動類。
  ----ChatServer():建立服務器治理界面。
  ----initServer():建立服務器插結,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日日噜噜噜夜夜爽亚洲精品| 这里只有精品视频在线| 国产丝袜精品第一页| 亚洲国产97在线精品一区| 中文字幕av一区二区三区谷原希美| 国产精品一二三在线| 在线精品91av| 欧美剧在线观看| 92版电视剧仙鹤神针在线观看| 色系列之999| 亚洲欧美日韩另类| 国内精品久久久久伊人av| 国产午夜精品一区理论片飘花| 中文字幕一区二区三区电影| 97精品在线观看| 性欧美办公室18xxxxhd| 国产精品人人做人人爽| 尤物九九久久国产精品的分类| 久久人人爽亚洲精品天堂| 欧美激情精品久久久久久久变态| 亚洲天堂开心观看| 日本精品一区二区三区在线| 日韩欧美国产网站| 国产一区二区香蕉| 欧美国产在线视频| 日本久久久久久久久| 色播久久人人爽人人爽人人片视av| 亚洲国产古装精品网站| 欧美日韩激情小视频| 亚洲午夜久久久久久久| 懂色av中文一区二区三区天美| 日韩精品丝袜在线| 国产91ⅴ在线精品免费观看| 久久久久久免费精品| 日本欧美爱爱爱| 国产精品久久久久久久天堂| 91沈先生在线观看| 国产成人jvid在线播放| 久久精品久久久久电影| 欧美性感美女h网站在线观看免费| 亚洲伦理中文字幕| 欧美激情一区二区三区久久久| 国产精品一区=区| 国产精品爱久久久久久久| 亚洲国内精品在线| 欧美精品免费在线| 欧美三级免费观看| 日韩在线高清视频| 91av视频在线播放| 欧美日韩亚洲视频一区| 亚洲欧洲在线观看| 美女久久久久久久久久久| 九九九久久国产免费| 国产精品18久久久久久麻辣| 日韩免费看的电影电视剧大全| 亚洲精品国产精品自产a区红杏吧| 欧美成人中文字幕在线| 欧美重口另类videos人妖| 国产一区二区三区在线观看视频| 中文字幕综合一区| 55夜色66夜色国产精品视频| 亚洲国产97在线精品一区| 精品亚洲一区二区三区四区五区| 亚洲精品网址在线观看| 欧美理论片在线观看| 国产在线观看不卡| 黑人巨大精品欧美一区二区一视频| 久久精品免费电影| 国产精品99蜜臀久久不卡二区| 亚洲第一男人天堂| 深夜福利日韩在线看| 久久久久久久久久久久久久久久久久av| 中日韩美女免费视频网址在线观看| 成人疯狂猛交xxx| 国产ts一区二区| 亚洲黄页视频免费观看| 亚洲国产欧美一区二区三区久久| 亚洲国产又黄又爽女人高潮的| 在线电影中文日韩| 国内精品视频久久| 国产综合色香蕉精品| 亚洲成人黄色在线| 久久亚洲精品一区| 亚洲人成伊人成综合网久久久| 国产精品日韩在线一区| 国产精品一二三视频| 91久久精品国产91久久性色| 性欧美激情精品| 欧美中文字幕视频在线观看| 日本高清视频精品| 国产精品999999| 91色中文字幕| 亚洲国产精品人人爽夜夜爽| 亚洲精品美女久久久久| 神马国产精品影院av| 亚洲美女性视频| 日韩免费av在线| 久久久免费观看视频| 91av视频导航| 国产精品美女av| 亚洲国产精品人人爽夜夜爽| 欧美国产亚洲精品久久久8v| 欧美成人sm免费视频| 久久成人在线视频| 久久九九全国免费精品观看| 91精品一区二区| 亚洲精品动漫久久久久| 国产成人精品亚洲精品| 欧美性猛交xxxx免费看漫画| 色综合久久天天综线观看| 国产一区二区三区视频免费| 欧美午夜丰满在线18影院| 亚洲免费人成在线视频观看| 日韩中文av在线| 亚洲成人激情在线观看| 精品二区三区线观看| 91免费视频网站| 久久人人97超碰精品888| 久久精品在线视频| 日本老师69xxx| 欧美精品成人91久久久久久久| 成人免费高清完整版在线观看| 国产在线日韩在线| 欧美另类极品videosbest最新版本| 色婷婷**av毛片一区| 亚洲男人的天堂网站| 综合久久五月天| 久久天堂电影网| 日韩欧美亚洲国产一区| 国产成人精品久久二区二区| 亚洲va男人天堂| 久久亚洲精品小早川怜子66| 亚洲影影院av| 日韩av一区二区在线观看| 亚洲精品欧美日韩| 亚洲一区中文字幕在线观看| 国内精品模特av私拍在线观看| 国产精品成人观看视频国产奇米| 青青草99啪国产免费| 亚洲精品456在线播放狼人| 一区二区欧美激情| 久久成人av网站| 92裸体在线视频网站| 久久精品99久久香蕉国产色戒| 亚洲tv在线观看| 日本中文字幕久久看| 国产精品高清在线观看| 日韩成人激情在线| 国产精品手机播放| 欧美激情国内偷拍| 欧美成人黄色小视频| 日韩av在线网| 亚洲男人第一av网站| 国产精品老牛影院在线观看| 国产精品久久久久影院日本| 欧美日韩电影在线观看| 亚洲免费视频在线观看| 日韩一区二区久久久| 日韩国产欧美精品在线| 亚洲free性xxxx护士白浆| 91香蕉嫩草影院入口| 中文字幕亚洲一区二区三区五十路| 久久国内精品一国内精品| 国产精品久久一|