【正文】
ocket = new Socket((), 4000)。也就是整個客戶端工程的主類。 圖 共享電子白板客戶端界面 當服務(wù)器啟 動后,客戶端的用戶可以通過用戶名稱和 IP 地址去登錄鏈接服務(wù)器,服務(wù)返回連接功能消息,并顯示在聊天系統(tǒng)信息欄中,同時也接收到服務(wù)器傳發(fā)過來的所有在線用戶名稱,添加顯示到連接用戶列表中。 (目前已經(jīng)有 : + () + 用戶連接 )。 public synchronized void disconnect(Client c){ try { (系統(tǒng)消息 : ++ 斷開 連接 \n)。 i++) { Client c = (Client)(i)。} ⑤ 服務(wù)器對所有客戶端用戶列表的更新功能,也就是服務(wù)器把記錄下來所有用戶列表中的用戶名稱轉(zhuǎn)發(fā)給所 有在線用戶的功能,這個功能的實現(xiàn)是 Cli類中的 notifyRoom()方法,其功能實現(xiàn)代碼如下。 if ((c != newClient) amp。} ④ 服務(wù)器接收到用戶登錄鏈接的用戶名稱后,進行分析是否該用戶名稱已經(jīng)存在的功能的方法是 Cli 類中的 checkName()方法 ,其功能實現(xiàn)代碼如下。 } 第 19 頁 共 32 頁 public static synchronized void sendClients(StringBuffer message){ for (int i = 0。} sendClients(draw)。} if (()) { p2y = ()。} if (()) { p1y = ()。 第 18 頁 共 32 頁 (keystr + :)。 sendClients(message)。 if ((MSG)) { StringBuffer message = new StringBuffer(MSG:)。 } } ( 4) Client 類,這個類是服務(wù)器用來對用戶發(fā)送信息的接收分析和轉(zhuǎn)發(fā)的類。 //啟動線程 ()。 (目前已經(jīng)有 : + num + 用戶連接 )。 ?? Client c = new Client(frame, socket)。 Thread a = new watch(this)。 ( 2) Frame1 類,這個類是服務(wù)器界面的實現(xiàn)類,是用來實現(xiàn)服務(wù)器界面上的 各 個組建的。如果是服務(wù)器退出,也是要把服務(wù)器端關(guān)閉的信息通知給所有要線用戶,并注銷和關(guān)閉所有服務(wù)。 ( 4) 斷開連接。 ( 2) 接收服務(wù)器消息,對不同的消息采用不同的處理方法: ① 當收到用戶登錄連接返回的消息時,從中提取出已經(jīng)登錄用戶列表,并逐個的添加到用戶端的用戶列表中。 ( 4)若某用戶注銷,則向所有在線用戶發(fā)送通知,通知該用戶關(guān)閉信息,同時在服務(wù)器列表中記錄該項用戶的注銷信息,并從登錄鏈接用戶列表中將該用戶刪除掉,同時也要記錄更新服務(wù)器在線用戶列表中的人數(shù),發(fā)送給所有在線用戶,并顯示在相應(yīng)的位子。 系統(tǒng)程序設(shè)計 服務(wù)器端程序設(shè)計流程 按照服務(wù)器打開鏈接到關(guān)閉的順序,可以將服務(wù)器端程序設(shè)計流程描述如下幾點。 ( 2) 由 于目前用戶對界面的要求逐步提高,因此,現(xiàn)在的可視化編程已經(jīng)取代了傳統(tǒng)的用戶界面的設(shè)計方法。 ( 6)當服務(wù)器退出時,服務(wù)器向所有在線客戶發(fā)送服務(wù)器關(guān)閉信息,在消息前面 添加上“ QUIT:”和“ SERVER:”信息,并關(guān)閉所有服務(wù)鏈接。在消息前面添加上“ MSG:”,再加上“ SERVER:”再加上所要發(fā)送的文字信息。 信息的發(fā)送都是以字符的形式發(fā)送出去的,通過暫緩沖區(qū)緩存方法暫存后發(fā)送給服務(wù)器端的,格式一般如下圖所示。然后發(fā)送給服務(wù)器。 由客戶端向服務(wù) 器端傳遞的主要消息 ( 1)登錄鏈接時,在發(fā)送消息前面添加上“ PEOPLE:”再加上用戶名稱用引號( :)隔開,再加上 IP 地址信息傳給服務(wù)器。如果客戶請求一個連接,服務(wù)器使用 accept() 第 10 頁 共 32 頁 方法打開 socket 連接,從而進行了正常的信息通信。 純 文本用于客戶之間進行文字交談,圖形對象則包括直線、矩形、圓等 圖形的形式進行圖形交談 。服務(wù)器端的主線程負責監(jiān) 第 9 頁 共 32 頁 聽某個端口,并為每個發(fā)出請求的用戶建立用戶空間線程,這個線程負責接收記錄用戶的信息,更新用戶名單列表,接收用戶的發(fā)送線程發(fā)出的數(shù)據(jù),并交給服務(wù)器轉(zhuǎn)發(fā)線程進行轉(zhuǎn)發(fā)。客戶端的任務(wù)是將用戶的輸入數(shù)據(jù)發(fā)送給服務(wù)器,同時接收服務(wù)器轉(zhuǎn)發(fā)的別的用戶的輸入數(shù)據(jù)。其特點是客戶端只裝載應(yīng)用軟件,而把數(shù)據(jù)庫放要服務(wù)器上,這樣就可以使客戶端不需要存儲數(shù)據(jù),從而簡化客戶端軟件。如果用戶不是主講者,也就是對圖形、文本顯示內(nèi)容區(qū)的繪制者,就要自覺地鎖定對圖形、文本顯示內(nèi)容區(qū)的操作功能,只能對純文字顯示內(nèi)容區(qū)內(nèi)發(fā)表個人的意見。其功能模塊圖如下 : 電 子 白 板 系 統(tǒng)服 務(wù) 器 端 客 戶 端偵聽識別數(shù)據(jù)分析數(shù)據(jù)分析轉(zhuǎn)發(fā)數(shù)據(jù)輸入輸出 圖 網(wǎng)絡(luò)電子白板 的 實現(xiàn) 功能主要有以下幾點: (1)支持多用戶對圖形、文本等的繪制操作功能,如直線、圓、橢圓、填充圓、文本等。 (4)群體協(xié)作管理。其次,提供群組通信支持,包括異步組通信和同步組通信,它使通信服務(wù)具備多種數(shù)據(jù)交換方式,即點到點、點到多點、多點到一點和多點到多點等。信息共享是電子白板系統(tǒng)的基本任務(wù),它要求電供運行在不同操作平臺上的不同應(yīng)用程序?qū)?shù)據(jù)的訪問和交換。 CSCW 的研究涉及到計算機網(wǎng)絡(luò)、多媒體、人工智能、面向?qū)ο蠹夹g(shù) 、數(shù)據(jù)庫、并行與分布式處理、自然語言處理以及認知科 第 6 頁 共 32 頁 學(xué)、行為科學(xué)、藝術(shù)等諸多領(lǐng)域。它包括群體工作方式研究和支持 群體工作的相關(guān)技術(shù)研究、應(yīng)用系統(tǒng)的開發(fā)等部分。針對此問題,本人運用 CSCW 技術(shù)能很好的解決上述問題。在電子白板系統(tǒng)中,影響協(xié)同工作不能正常進行的主要因素有 2 個: ( 1)本地用戶和遠程協(xié)作者的操作數(shù)據(jù)在本地白板上執(zhí)行產(chǎn)生的沖突; ( 2)不同的遠程協(xié)作者發(fā)出的操作數(shù)據(jù)在本地白板上執(zhí)行產(chǎn)生的沖突。 第四章著力于系統(tǒng)的 詳細設(shè)計與 實現(xiàn)。 著重對計算機協(xié)同工作技術(shù)( CSCW)進行了介紹。其基本思路如下: 第一章詳細闡述了該課題的背景與意義,并著重分析了該課題的一些現(xiàn)狀及發(fā)展趨勢。 該 系統(tǒng)的功能實現(xiàn)主要包括兩個模塊,服務(wù)器端模 塊和客戶端模塊。 隨著 的發(fā)展,更多的電子白板 的發(fā)展趨勢是 希望結(jié)合以上兩種系統(tǒng)的優(yōu)點 ,系統(tǒng) 既接受 B/ S 模式的優(yōu)點 ,使客戶端程序僅用瀏覽器即可運行 。于是解決組播的可靠性問題、解決同步時鐘的問題就成為組播機制是否能應(yīng)用于 分布式數(shù)據(jù)處理的關(guān)鍵,人們已為此進行了大量的研究工作并取得了顯著 的成效。這種方式保證了數(shù)據(jù)傳輸?shù)目煽啃院陀行蛐裕瑢崿F(xiàn)起來比較簡單,在參加白板系統(tǒng)的人數(shù)較少時,能夠有較高的效率。而這種方便的、靈活的在線實時交流的生活方式也已近越來越被人們所喜愛及接受。許多商用白板產(chǎn)品設(shè)計成在多方模式下運行,而不僅僅運行于兩個工作站之間。 隨著 WWW 的發(fā)展以及 Client/Server 計算模式的日益 發(fā)展,電子白板技術(shù)也在不斷完善中,而遠程教學(xué)已經(jīng)不在滿足于當前的技術(shù)支持,而是需要積極的尋求更為方便、更為特殊的網(wǎng)絡(luò)工具。 電子白板技術(shù)最初是指多媒體視頻會議系統(tǒng)中 , 與會者通過某個界面實時共享數(shù)據(jù)并協(xié)作的技術(shù)。目前,作為文字、聲音、圖片、視頻等的網(wǎng)絡(luò)交流工具不少,但作為實時的圖形傳輸工具卻不多,影響了一些課程的遠程教學(xué)效果。該類軟件主要分為兩類,一種是以目前BBS和主頁上的聊天室為代表的純文字型的交流工具;另一種就是本文要介紹的電子白板類交流工具。 CSCW。 本 系 統(tǒng) 將 CSCW 與 Java 技術(shù)相結(jié)合,采用 Java 語言中的 Socket 網(wǎng)絡(luò)編程技術(shù),實現(xiàn) 了 客戶端與服務(wù)器端之間網(wǎng)絡(luò)底層的鏈接和信息的交換, 用 C/S 計算機模型 設(shè)計并實現(xiàn)了一個基于 Java 的 網(wǎng)絡(luò) 電子白板系統(tǒng) ,以滿足遠程教育的技術(shù)需求 。 在計算機網(wǎng)絡(luò)的支持下 , 地理上分布的人們需要協(xié)同工作 , 而電子白板作為計算機支持協(xié)同工作( CSCW)中的一個重要的圖形交互工具,使處于不同地點的用戶通過計算機可以實時的進行圖形交互, 讓 用戶簡單快速地實現(xiàn)協(xié)同工作 。 關(guān)鍵詞 共享電子白板; 計算機協(xié)同技術(shù) ; 套接字 ; 客戶機 /服務(wù)器 ABSTRACT Along with rapid popularity of Inter, puter techniques e into Network Centric Computing epoch. People who are in geographically distributed locations need to collaborate with each other, so the Computer Supported Cooperative Work (CSCW) springs up. People hope interacting with each other using the WYSIWIS(What You See Is What I See) mode in CSCW environment. The shared whiteboard is the most important tool of graphic interaction in CSCW, which helps people locating different areas to interact each other with graphics by puters. The customers carry out a work, deal with the process of business and adapt a series of variety of the market in a brief and quick way .Then a better and economic performance is acquired. This system bines CSCW with Java technology and carries out the links of the low layer of the works and switch of the information among the clients and severs using the socket programming technology with java. The design and implementation of the shared whiteboard system based on java adopting the C/S module of puter increases the online drawing function, makes up the shortage of pure text of the no real time and predigests the details of technology in work. So the system is very useful for us. KEY WORDS shared whiteboard。這方面的應(yīng)用軟件也日益豐富起來。 項目研究的背景及意義 隨著遠程教育的發(fā)展,網(wǎng)上實時交流是教師與學(xué)生之間的主要溝通的方式之一。此外,在會商中,用戶往往需要運用多種工具進行語音、文字、圖形和圖像等的交流,進行密切配合、協(xié)同工作,而電子白板是一個十分重要的協(xié)同工作工具,通過 使用鼠標、鍵盤、手寫筆和觸摸屏等硬件 I/O 設(shè)備,各協(xié)作用戶可以在電子白板上面繪制圖形、鍵入文本、注釋、剪切、復(fù)制圖片,并同步顯示在其他用戶的白板界面上,從而達到資源共享、實時交流的目的。正是由于電子白板交流具有靈活、方便、及 時的應(yīng)用特點,因此被廣泛地集成在視頻會議、遠程教學(xué)、自動化辦公、 ERP 軟件中,具有很高的實用價值。 電子白板的研究現(xiàn)狀及發(fā)展趨勢 研究現(xiàn)狀 電子白板是由一些研究機構(gòu)與大學(xué)院校率先推出的,許多工具先后都被開發(fā)成功,尤其是包括 IBM 歐洲網(wǎng)絡(luò)中心的 CoDraft 及歐洲委員會 RACEII 提倡的 JVTOS。在大學(xué),以電子白板為主的遠程教育為更多的人創(chuàng)造了接受高等教育的機會,使得他們掌握更多的課堂知識;在企業(yè),電子白板能夠很好的用于公司間的內(nèi)部視頻會議,使公司的商業(yè)信息得以及時的匯總,及時制定相應(yīng)的措施;對于個人,一方面可以通過實時交流這類軟件遠程接受教育、培訓(xùn),另一方面可以更方便的和其他人交流學(xué)習(xí),為自己創(chuàng)造更多的價值。