freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)專業(yè)網(wǎng)絡(luò)電子白板系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-預(yù)覽頁(yè)

 

【正文】 發(fā)展趨勢(shì) 現(xiàn)有的電子白板系統(tǒng)通常是基于 Client/Server 模型,采用集中式模式共享數(shù)據(jù);所有用戶都與服務(wù)器相連,只向服務(wù)器發(fā)消息,并接收來(lái)自服務(wù)器的消息。但是,基本的組播通信本身是不可靠的,完全的分布式也為所有用戶的同步帶來(lái)困難,路由器是否支持組播機(jī)制也在一定程度上限制了這種白板系統(tǒng)的使用范圍。B/ S 模式可用在 Inter 上 ,系統(tǒng)的客戶端不必安裝專門的軟件 ,只要有瀏覽器就可以使用 ,十分方便 ,但是系統(tǒng)的交互性就會(huì)減弱 ,白板的功能相對(duì)較差 ,而且由于瀏覽器對(duì)安全性的限制 ,使得系統(tǒng)有很多的功能無(wú)法實(shí)現(xiàn)。 本文的主要工作 本 文 是 以 Windows XP 為系統(tǒng)平臺(tái) , 以 Java 為編程語(yǔ)言,以 JBuilder 為編程環(huán)境, 將 CSCW 與 Java 技術(shù)相結(jié)合,采用 Java 語(yǔ)言中的 Socket 網(wǎng)絡(luò)編程技術(shù) ,結(jié)合 Client/Server 計(jì)算模式,研究開發(fā)具有圖形交換功能的 CSCW 共享電子白板 系統(tǒng) 。 本文的組織結(jié)構(gòu) 本文主要是開發(fā)與設(shè)計(jì)了一個(gè)基于 java 的網(wǎng)絡(luò)電子白板系統(tǒng)。 由引出問題入手,再尋求根本,從而制定解決方案 。其中系統(tǒng) 主要是從服務(wù)器 端 和客 戶 端這 2 大模塊進(jìn)行分析設(shè)計(jì)的 。 第 5 頁(yè) 共 32 頁(yè) 2. 開發(fā)關(guān)鍵技術(shù) 由于共享電子白板涉及多個(gè)用戶之間的協(xié)同工作,從而引出了計(jì)算機(jī)支持的協(xié)同工作的關(guān)鍵問題就是如何使協(xié)作者進(jìn)行高效的協(xié)同工作。 因此,如何設(shè)計(jì)系統(tǒng) 的并發(fā)策略和通信協(xié)議成為關(guān)鍵。 CSCW 是 地域分散的一個(gè)群體,借助計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù),共同協(xié)調(diào)與協(xié)作來(lái)完成一項(xiàng)任務(wù)。 CSCW 是研究群體如何工作 ,探討各種技術(shù)特別是計(jì)算機(jī)技術(shù)如何支持群體工作的一個(gè)新的研究領(lǐng)域。 CSCW 系統(tǒng)功能 本網(wǎng)絡(luò)電子白板作為典型的 CSCW 系統(tǒng),其主要功能涉及以下方面: (1)信息子白板應(yīng)用系統(tǒng)為各協(xié)作成員提供方便可靠的信息收發(fā)、修改和刪除機(jī)制,提共享。電子白板系統(tǒng)提供了支持在協(xié)作成員之間互換多媒體信息的通信機(jī)制,這些媒體包括文本、圖形、圖像等。電子白板系統(tǒng)為各協(xié)作用戶提供寬松的 WYSIWIS(What You See Is What I See, 你見即我見 )機(jī)制,允許參加者對(duì)同一事務(wù)的不同部分以不同形式進(jìn)行觀看和修改;同時(shí)提供安全機(jī)制,對(duì)公用操作 /數(shù)據(jù)和私有操作 /數(shù)據(jù)進(jìn)行區(qū)分,為參加協(xié)調(diào)工作的用戶保留一部分私有數(shù)據(jù)不為群體共享。再按功能細(xì)分,服務(wù)器端主要負(fù)責(zé)偵聽識(shí)別、數(shù)據(jù)分析、轉(zhuǎn)發(fā)數(shù)據(jù) 3 個(gè)功能模塊;而客戶 端則只負(fù)責(zé)數(shù)據(jù)分析及數(shù)據(jù)的輸入輸出 2 個(gè)功能模塊 。 (3)支持用戶自覺鎖的功能。處理應(yīng)用程序并請(qǐng)求另一臺(tái)計(jì)算機(jī)服務(wù)的計(jì)算機(jī)稱為客戶機(jī),處理數(shù)據(jù)庫(kù)的 計(jì)算機(jī)成為服務(wù)器。 電子白板由服務(wù)器端和客戶端兩部分組成,服務(wù)器端監(jiān)聽客戶對(duì)某個(gè)特定端口的網(wǎng)絡(luò)連接請(qǐng)求,并與之建立連接,這樣,這個(gè)客戶的數(shù)據(jù)就可以發(fā)送到服務(wù)器,再由服務(wù)器轉(zhuǎn)發(fā)給其他客戶。 客戶端運(yùn)行時(shí)將立即向服務(wù)器的某個(gè)端口發(fā)送連接請(qǐng)求,待連接建立后則由用戶的發(fā)送線程發(fā)送該用戶的輸入數(shù)據(jù)到服務(wù)器。 客戶端的輸入數(shù)據(jù)類型分為兩類: 純 文本和圖形對(duì)象。 系 統(tǒng) 啟 動(dòng)系 統(tǒng) 監(jiān) 聽 及 信息 處 理服 務(wù) 器 系 統(tǒng) 退出連 接 服 務(wù) 器消 息 處 理客 戶 端 退 出發(fā)送請(qǐng)求發(fā) 送 信 息接 受 轉(zhuǎn) 發(fā) 信 息系統(tǒng)退出請(qǐng)求服 務(wù) 器 端 客 戶 端 圖 共享電子白板的信息流處理圖 共享電子白板大致的實(shí)現(xiàn)模型是: ( 1)服務(wù)器分配一個(gè)端口號(hào)。下面接著分析共享電子白板系統(tǒng)的信息傳遞情況。 ( 3)在發(fā)送圖形信息中的文本信息時(shí),在消息前面添加上“ DRAW:”,再加上文本關(guān)鍵字名后加上引號(hào)( :),再加上發(fā)送信息的用戶名加上引號(hào)( :),再加上顏色分為紅( R:)、綠( G:)、藍(lán)( B:),這些顏色對(duì)文本字體沒有任何的 作用,只是便于客戶端的接收分析,再加上起點(diǎn)和終點(diǎn)的坐標(biāo)值,每一個(gè)坐標(biāo)的( X, Y)值都要用同樣的引號(hào)(:)隔開,再加上文本信息和引號(hào)(:)。 ( 5)在用戶退出共享電子白板系統(tǒng)時(shí),發(fā)送消息中添加“ QUIT: ”以及退出系統(tǒng)的用戶名稱,然后將消息傳送給服務(wù)器。 ( 2)服務(wù)器管理員可以向所示已登錄鏈接成功的用戶發(fā)送任何信息。 ( 5)有用戶注銷時(shí),向所有要線的用戶發(fā)出通知,在消息前面添加上“ QUIT:”信息和用戶名稱,同時(shí)更新用戶列表信息,然后發(fā)送給所有客戶進(jìn)行更新和顯示。 服務(wù)器像客服端傳遞消息的格式如下: 關(guān) 鍵 字 信 息 頭 : 用 戶 名 稱 : 純 文 字 和 圖 形 繪 制 信 息 : 圖 第 12 頁(yè) 共 32 頁(yè) 4.系統(tǒng) 詳細(xì)設(shè)計(jì)與 實(shí)現(xiàn) 系統(tǒng)的開發(fā) 工具 和 語(yǔ)言 環(huán)境 ( 1) 在編程語(yǔ)言的選擇上,考慮到電子白板系統(tǒng)具有如下特點(diǎn) : ① 系統(tǒng)主要進(jìn)行網(wǎng)絡(luò)連接和數(shù)據(jù)傳送; ② 客戶 端存在不同類型的輸入數(shù)據(jù)類型,例如各種幾何圖形和文字等; ③ 系統(tǒng)中存在多個(gè)線程,并且彼此之間要進(jìn)行通信; 決定選用 Java 語(yǔ)言,因?yàn)?Java 是一種面向?qū)ο蟮木W(wǎng)絡(luò)編程語(yǔ)言,它支持多線程,并且, Java 的平臺(tái)無(wú)關(guān)性以及安全性更是其他編程語(yǔ)言無(wú)法比擬的。 選 擇 Borland Jbuilder 作為開發(fā)工具 , 因?yàn)?它是一個(gè)強(qiáng)大的集成 Java 軟件開發(fā)工具, 可以快速開發(fā)包括復(fù)雜企業(yè)級(jí)應(yīng)用系統(tǒng)的各種 Java 程序 ,對(duì)于使用可視化工具開發(fā)程序有很多好處,其中最顯著的是能夠快速生成程序框架、設(shè)計(jì)圖形界面、調(diào)試程序等 。 第 13 頁(yè) 共 32 頁(yè) ( 3)在發(fā)送消息時(shí),服務(wù)器只是把從客戶端接收的信息進(jìn)行轉(zhuǎn)發(fā)的功能形式。 ( 1) 用戶登錄連接服務(wù)器,把用戶名稱和 IP 地址信息發(fā)送給服務(wù)器,建立起一個(gè)連接。 ( 3) 發(fā)送消息時(shí),對(duì)不同的消息發(fā)送方式采用不同的處理方法:對(duì)發(fā)送純文字信息和圖形繪制信息的關(guān)鍵字標(biāo)記都不一樣,便于服務(wù)器端轉(zhuǎn)發(fā)和客戶端接收的分析顯示。 圖 共享電子白板服務(wù)器界面 服務(wù)器啟動(dòng)連接后,會(huì)在服務(wù)器界面的系統(tǒng)消息框中顯示出服務(wù)器連接成功,服務(wù)器時(shí)時(shí)的監(jiān)聽客戶端的請(qǐng)求連接,如果有客戶端用戶的請(qǐng)求連接時(shí),服務(wù)器就記錄用戶的用戶名稱和 IP 地址信息,把用戶名稱增加到用戶列表名單中,并統(tǒng)計(jì)和顯示用戶列表名單的在線人數(shù),服務(wù)器端把接收到客戶端的用戶信息添加并顯示到服務(wù)器界面的用戶信息表中,用戶信息表是用來(lái)記錄每一個(gè)用戶的用戶名、 IP 地址和連接情況,同時(shí)在系統(tǒng)消息框中顯示出相應(yīng)的信息;如果 接收到的是用戶的會(huì)議討論信息,也就是純文字和圖形信息時(shí),服務(wù)器通過分析后再進(jìn)行轉(zhuǎn)發(fā)給所有在線用戶;如果接收的是用戶的請(qǐng)求退出時(shí),服務(wù)器更新用戶列表名單,用戶在線人數(shù)減一并顯示出來(lái),并在用戶信息表中銷去 第 15 頁(yè) 共 32 頁(yè) 請(qǐng)求退出用戶的所有信息和在系統(tǒng)消息框中提示某某用戶斷開連接 ,同時(shí)把請(qǐng)求退出的用戶名稱發(fā)送給所有在線用戶。也就是整個(gè)服務(wù)器工程的主類。 第 16 頁(yè) 共 32 頁(yè) ?? } } if (serverSocket != null) { (系統(tǒng)提示 : 服務(wù)器 + 已經(jīng)啟動(dòng) \n)。其代碼如下: class watch extends Thread{ ?? watch(Frame1 frame) { ?? } public void run(){ while (true) { if (() 20) { try { socket = ()。 ++。 ()。 //斷開連接 } } else { try { 第 17 頁(yè) 共 32 頁(yè) (400)。 ①緩沖區(qū)的文字輸入的情況。 ((\0))。 //在服務(wù)器建立一個(gè)緩沖區(qū) ,用于圖形信息的發(fā)送 if (()) { keystr = ()。 (p1x + :)。 (p2x + :)。 (text + :)。 ()。 (message)。 i++) { Client c = (Client)(i)。}} return true。 i ()。} ⑥ 服務(wù)器對(duì)客戶端用戶的請(qǐng)求退出功能的實(shí)現(xiàn)是發(fā)送退出用戶的用戶名稱給所有在線用戶,同時(shí)把該用戶名稱從用戶列表中移除掉,這個(gè)功能的實(shí)現(xiàn)是Client 類中的 disconnect()方法,其功能實(shí)現(xiàn)代碼如下。 (c)。其界面的實(shí)現(xiàn)是通過 Java Swing 技術(shù)編寫出來(lái)的,共享電子白板的客戶端界面如下圖所示。 圖 用戶與用戶之間的實(shí)驗(yàn)效果顯示 客戶端實(shí)現(xiàn)的相關(guān)類和方法 客戶端實(shí)現(xiàn)有以下幾個(gè)類和方法: ( 1) Application1 類,這個(gè)類是客戶端工程的執(zhí)行類,是 JBuilder 工具在服務(wù)器工程里面創(chuàng)建一個(gè) Java Application 時(shí) ,自動(dòng)生成的類。 void linkjButton1_actionPerformed(ActionEvent e) { if (().trim().equals()) { (用戶名不能為空 ,請(qǐng)你輸入你的用戶名 !!!+\n)。 String userinfo = () + : + ().toString()。 listen = new Listen(this, (), socket)。 (目前連接的用戶數(shù) : + (count))。 } } } 客戶端圖形繪制中顏色的選擇和鼠標(biāo)圖形繪制的實(shí)現(xiàn)分別是 Frame1 類中的 void colorButton_actionPerformed(ActionEvent e) 方法和 void jScrollPane1_mouseDragged(MouseEvent e) 方法 ,其功能實(shí)現(xiàn)代碼(圖形)如下。 G = ()。 void jScrollPane1_mouseDragged(MouseEvent e) { if (socket != null) { g = (Graphics2D) ()。 (, , (() ), (() ))。 case 5: //畫填充圓 (())。 p2 = ()。這個(gè)類的主要功能都是這 run()方法中,其代碼 實(shí)現(xiàn)如下。 ()。 return 。 ()。} (目前連接用戶數(shù) : + ())。 (\n)。} if (()) { Rr = ()。} if (()) { Bb = ()。} if (()) { p1y = ()。} if (()) { p2y = ()。 (new Color(R, G, B))。 (x1, y1, (x2 x1), (x2 x1))。 (new Color(R, G, B))。 (x1, y1, (x2 x1), (y1 y2))。} else if ((TEXT)) { (strname + : + 寫 文本 \n)。 try { ()。} catch (IOException ex) { (Error: + ex + \n)。}} else if((FAULTNAME)){ (用戶名已經(jīng)有人用了 ,請(qǐng)你另外取別的名字 ,謝謝合作 !!!\n)。 通過這次論文設(shè)計(jì)的研究,可以看出 網(wǎng)絡(luò)電子白板是利用文字和圖形進(jìn)行通信的應(yīng) 用軟件。 總的來(lái)說, 這 次 畢業(yè)設(shè)計(jì)給我的收獲非常大,在做系統(tǒng)設(shè)計(jì)開發(fā)時(shí)也 給我們提供了一個(gè)既動(dòng)手又動(dòng)腦、 自學(xué)、獨(dú)立實(shí)踐的機(jī)會(huì),使我們養(yǎng)成了勤翻閱各種相關(guān)資料的習(xí)慣,將書本上的理論知識(shí)和實(shí)際有機(jī)地結(jié)合起來(lái),鍛煉了實(shí)際分析問題和解決問題的能力,提高了 解決實(shí)際問題 的能力,為今后的學(xué)習(xí)和實(shí)踐打下了良好的基礎(chǔ)。在這里感謝劉耀老師的熱情關(guān)心和辛勤的指
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1