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

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

用JAVA編制Internet電子白板軟件

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
韩国三级日本三级少妇99| 国产精品99久久久久久久久久久久| 欧美激情一二三| 久久精品电影网| 国产精品日韩欧美| 国产女人18毛片水18精品| 国产在线观看不卡| 久久99久久久久久久噜噜| 亚洲第一级黄色片| 久久99精品久久久久久噜噜| 欧美诱惑福利视频| 日本最新高清不卡中文字幕| 91免费电影网站| 欧美性生活大片免费观看网址| 国产精品第七十二页| 欧美在线性视频| 欧美xxxx14xxxxx性爽| 亚洲精品日韩久久久| 欧美性猛交xxxx黑人| 亚洲免费成人av电影| 亚洲第一精品久久忘忧草社区| 国产成人涩涩涩视频在线观看| 日本精品一区二区三区在线| 久久久噜噜噜久噜久久| 国产日韩欧美在线视频观看| 最近2019中文字幕第三页视频| 日韩精品中文字| 日韩av片永久免费网站| 国产在线观看91精品一区| 亚洲精品第一国产综合精品| 国产精品久久久久久久av电影| 国产一区二区三区在线视频| 综合国产在线观看| 中文字幕在线看视频国产欧美在线看完整| 欧美三级免费观看| 日韩电影中文字幕| 亚洲高清不卡av| 亚洲综合第一页| 午夜免费在线观看精品视频| 九九久久久久99精品| 一本色道久久88亚洲综合88| 色无极影院亚洲| 美女福利精品视频| 美女av一区二区| 米奇精品一区二区三区在线观看| 国产亚洲欧洲高清一区| 国产精品99久久99久久久二8| 欧美综合在线观看| 欧美日韩成人在线观看| 国产成人久久久精品一区| 精品久久久久久久久久久久久久| 亚洲欧美国产一本综合首页| 狠狠躁18三区二区一区| 亚洲人成电影网站| 国产亚洲一区精品| 国产一区二区三区丝袜| 九九热r在线视频精品| 亚洲欧美日韩视频一区| 日韩av在线资源| 日韩在线播放视频| 亚洲精品小视频| 亚洲一区中文字幕在线观看| 国模精品视频一区二区三区| 97欧美精品一区二区三区| 亚洲大尺度美女在线| 成人a在线观看| 国产99久久久欧美黑人| 欧美大片在线影院| 久久九九全国免费精品观看| 成人久久一区二区| 美女精品久久久| 国产成人一区三区| 18性欧美xxxⅹ性满足| 亚洲第一精品夜夜躁人人爽| zzijzzij亚洲日本成熟少妇| 91久久久亚洲精品| 欧美高清视频在线观看| 精品视频久久久久久久| 国语自产精品视频在线看一大j8| 欧美情侣性视频| 久久人人爽人人爽爽久久| www.99久久热国产日韩欧美.com| 91精品国产高清自在线| 亚洲精品99久久久久中文字幕| 久久久女女女女999久久| 日韩免费在线视频| 日韩视频免费大全中文字幕| 久久久精品久久| 欧美成人性色生活仑片| 国产大片精品免费永久看nba| 91老司机精品视频| 亚洲综合在线做性| 欧美精品在线播放| 91国自产精品中文字幕亚洲| 亚洲第一中文字幕在线观看| 夜夜躁日日躁狠狠久久88av| 91精品国产综合久久久久久蜜臀| 久久久久久网站| 美女少妇精品视频| 欧美成人午夜激情| 综合国产在线视频| 91精品国产高清久久久久久| 久久视频免费在线播放| 91极品视频在线| 亚洲国产欧美一区二区三区同亚洲| 欧美日韩在线一区| 日韩中文字幕不卡视频| 国产精品嫩草影院一区二区| 欧美天天综合色影久久精品| 日韩亚洲成人av在线| 在线播放日韩专区| 久久精品国产视频| 91天堂在线视频| 欧美性xxxx极品高清hd直播| 91产国在线观看动作片喷水| 亚洲欧美制服丝袜| 国产精品pans私拍| 欧美国产日韩中文字幕在线| 亚洲精品国产欧美| 草民午夜欧美限制a级福利片| 日韩av电影手机在线观看| xx视频.9999.com| 国产精品成熟老女人| 久久免费观看视频| 在线日韩精品视频| xxxxx成人.com| 国产精品视频xxxx| 国产精品视频久久久| 欧美wwwwww| 国产亚洲精品久久久久久777| 欧美三级欧美成人高清www| 美女扒开尿口让男人操亚洲视频网站| 国产精品中文久久久久久久| 日本午夜精品理论片a级appf发布| 亚洲综合视频1区| 久久91亚洲精品中文字幕| 成人国产精品久久久久久亚洲| 国产精品福利网站| 91性高湖久久久久久久久_久久99| 欧美综合激情网| 成人免费网视频| 国产婷婷成人久久av免费高清| 日韩高清免费观看| 国产视频久久久| 久久精品福利视频| 国产精品免费看久久久香蕉| 7m第一福利500精品视频| 国产一区二区三区高清在线观看| 美女精品视频一区| 欧美视频在线免费看| 久久国产精品久久久久| 日本欧美中文字幕| 国产a级全部精品| 欧美在线观看一区二区三区| 日韩精品在线电影| 国产欧美一区二区三区四区| 色综合导航网站| 欧美精品激情在线| 久久精品小视频| 岛国av在线不卡| 日韩男女性生活视频| 在线观看视频亚洲| 亚洲国产精品女人久久久| 精品国产999|