【正文】
To Peer)。在應(yīng)用設(shè)計(jì)中,必須避免在表示層和功能層之間進(jìn)行多次的數(shù)據(jù)交換,這就需要盡可能進(jìn)行一次性的業(yè)務(wù)處理,達(dá)到優(yōu)化整體設(shè)計(jì)的目的。為了使用戶能直接地進(jìn)行操作,客戶層需要使用圖形用戶接口。采用客戶機(jī)/服務(wù)器(C/S)的模式來設(shè)計(jì),是一個(gè)2層的C/S結(jié)構(gòu):應(yīng)用程序服務(wù)器→應(yīng)用程序客戶端,其分層機(jī)構(gòu)如圖1所示。 即時(shí)消息的安全需求A發(fā)送即時(shí)消息M給B,有以下幾種情況和相關(guān)需求:(1)如果無法發(fā)送,A必須接到確認(rèn);(2)如果M被投遞了,B只能接受M一次;(3)協(xié)議必須為B提供方法檢查A發(fā)送了這條信息;(4)協(xié)議必須允許B使用另一條即時(shí)信息,回復(fù)信息;(5)協(xié)議必須為A提供方法保證沒有其他個(gè)體C可以篡改M; 即時(shí)信息加密和鑒別(1)協(xié)議必須提供方法保證通知和即時(shí)消息的置信度,未被監(jiān)聽或者破壞;(2)協(xié)議必須提供方法保證通知和即時(shí)消息的置信度,未被重排序或者回放;(3)協(xié)議必須提供方法保證通知和即時(shí)消息被正確的實(shí)體閱讀;(4)協(xié)議必須允許客戶自己使用方法確保信息的不被截獲,不被重放和解密。協(xié)議必須是雙方或者多方參與的,一方單獨(dú)完成的就不算協(xié)議。協(xié)議必須存在機(jī)制,保證即時(shí)消息成功投遞或者投遞失敗的時(shí)候,發(fā)信者獲得足夠的信息。最具革命意義的是,Hibernate可以在應(yīng)用EJB(Enterprise JavaBeans是Java應(yīng)用于企業(yè)計(jì)算的框架)的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。【4】它的設(shè)計(jì)目標(biāo)是將軟件開發(fā)人員從大量相同的數(shù)據(jù)持久層相關(guān)編程工作中解放出來。 Hibernate框架簡介Hibernate是一種Java語言下的對象關(guān)系映射解決方案。(2)向服務(wù)器發(fā)送服務(wù)請求報(bào)文,等待并接收應(yīng)答;繼續(xù)提出請求。(3)接收到重復(fù)服務(wù)請求,處理該請求并發(fā)送應(yīng)答信號。這種模式的優(yōu)點(diǎn)充分利用了客戶機(jī)的性能,使計(jì)算能力大大提高;另外,由于客戶機(jī)和服務(wù)器之間的通訊是通過網(wǎng)絡(luò)協(xié)議進(jìn)行的,是一種邏輯的聯(lián)系,因此物理上在客戶機(jī)和服務(wù)器兩端是易于擴(kuò)充的?!?】相對于以前的模式,C/S模式最大的改進(jìn)是不再把所有軟件都裝進(jìn)一臺計(jì)算機(jī),而是把應(yīng)用系統(tǒng)分成兩個(gè)不同的角色和兩個(gè)不同的地位:一般在運(yùn)算能力較強(qiáng)的計(jì)算機(jī)上安裝服務(wù)器端程序,而在一般的PC上安裝客戶機(jī)程序。因此,在編譯過程中,編譯程序通過查表將所有對符號的引用轉(zhuǎn)換為特定的內(nèi)存偏移量,以保證程序運(yùn)行。這里要提到,Java應(yīng)用程序的開發(fā)周期包括編譯、下載、解釋和執(zhí)行幾個(gè)部分。Sun公司的口號就是“網(wǎng)絡(luò)就是計(jì)算機(jī)”,Java能使所有東西從桌面計(jì)算平穩(wěn)的轉(zhuǎn)變?yōu)榛诰W(wǎng)絡(luò)的計(jì)算,它是專門為此而建立的,并顯然是為了完成這個(gè)任務(wù)而來的。據(jù)美國在線1999年底稱,ICQ使用者已達(dá)5000萬,其中超過三分之二的使用者居住在美國本土以外的世界各地。通常認(rèn)為ICQ是現(xiàn)在流行使用的即時(shí)通訊軟件的開山之作。這種模式比起使用更像是電話交談,充分體現(xiàn)了其實(shí)時(shí)特性。即時(shí)通訊(IM)是一個(gè)允許兩人或多人使用網(wǎng)絡(luò)即時(shí)地傳遞文字信息、檔案、語音與視頻交流的終端服務(wù)。而該即時(shí)通訊系統(tǒng)將自己的服務(wù)器端安裝在企業(yè)內(nèi),并且人員的創(chuàng)建是由系統(tǒng)管理員來完成,因此很好的解決了這個(gè)問題。系統(tǒng)包括客戶端程序和服務(wù)器端程序,支持局域網(wǎng)和Internet。ICQ最大的功能便是即時(shí)信息交流,只要記得對方的號碼,上網(wǎng)時(shí)可以呼他,無論他在哪里,只要他上網(wǎng)打開ICQ,人們就可以隨時(shí)交流。 課題選題背景計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)高速發(fā)展的今天,即時(shí)通訊方式日益受到人們的青睞。 C/S1 前言交流對于人類社會及其每個(gè)成員都至關(guān)重要。該系統(tǒng)采用軟件工程的瀑布模型進(jìn)行開發(fā),分別討論了系統(tǒng)的需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和編碼、以及整個(gè)系統(tǒng)的運(yùn)行和測試。即時(shí)聊天工具在實(shí)現(xiàn)傳輸視頻與音頻信息,使協(xié)作成員可以遠(yuǎn)距離進(jìn)行直觀、真實(shí)的視音交流的同時(shí),利用多媒體的技術(shù),它還可以幫助使用者對工作中各種信息進(jìn)行處理。本課題研究的是支持內(nèi)部網(wǎng)絡(luò)交流的系統(tǒng)——網(wǎng)絡(luò)即時(shí)通訊系統(tǒng)。關(guān)鍵詞:即時(shí)聊天;系統(tǒng);Java;C/S Abstract: The rapid development of puter network technology today, more immediate means of munication by people of all ages. Realtime chat tool in achieving the transmission of video and audio information, so that members can collaborate remotely intuitive, real audio and visual munication at the same time, use of multimedia technology, it can also help users to work in all kinds of information processing. Study of this issue is to support the exchange of internal network systems network instant messaging system. The system uses Java programming language. System uses the C / S structure mode, support for LAN and Internet. The system uses the waterfall model of software development projects were discussed system requirements analysis, outline design, detailed design and coding, and run and test the whole system. Finally, the paper concluded. Of course, the system there are some imperfections, and seek to study and work in the future be amended so that the system actually used in a variety of network efficiency.Keywords:Instant Messager。直接交流的方式包括語言、文字等,而遠(yuǎn)程交流還需借助于一些先進(jìn)的工具如電話、網(wǎng)絡(luò)等。即時(shí)通訊工具在實(shí)現(xiàn)傳輸視頻與音頻信息,使協(xié)作成員可以遠(yuǎn)距離進(jìn)行直觀、真實(shí)的視音交流的同時(shí),利用多媒體的技術(shù),它還可以幫助使用者對工作中各種信息進(jìn)行處理。目前即時(shí)聊天系統(tǒng)種類眾多,功能也較為齊全。企業(yè)內(nèi)部員工之間可以在內(nèi)部網(wǎng)覆蓋的任何地點(diǎn)、任何時(shí)間進(jìn)行即時(shí)交流,真正實(shí)現(xiàn)企業(yè)內(nèi)部協(xié)同工作。即時(shí)通訊帶給了更大的互動性,人們在交流彼此的看法、意見時(shí),發(fā)現(xiàn)采用你來我往的方式達(dá)到的效果最為明顯。即時(shí)通訊不同于在于它的交談是即時(shí)的。在現(xiàn)在的即時(shí)通訊程序中,為了畫面的完整美觀和交流方便,交談中的另一方通常只會在本地端按下送出鍵(Enter或是Ctrl+Enter)后才會看到信息。ICQ源于以色列特拉維夫的Mirabils公司。ICQ造就的實(shí)時(shí)通信成了互聯(lián)網(wǎng)世界中發(fā)展最快的一個(gè)領(lǐng)域。使用Java語言,可以相對輕松的一天編寫一個(gè)有條理的網(wǎng)絡(luò)程序。Java編譯程序?qū)ava源程序翻譯為JVM可執(zhí)行代碼—字節(jié)碼。Java編譯器卻不將對變量和方法的引用編譯為數(shù)值引用,也不確定程序執(zhí)行過程中的內(nèi)存布局,而是將這些符號引用信息保留在字節(jié)碼中,由解釋器在運(yùn)行過程中創(chuàng)立內(nèi)存布局,然后再通過查表來確定一個(gè)方法所在的地址。正是由于個(gè)人PC機(jī)的出現(xiàn)使客戶機(jī)/服務(wù)器模式成為可能,因?yàn)镻C機(jī)具有一定的運(yùn)算能力,用它代替了上面第一種模式的啞終端后,就可以把主機(jī)端的一部分工作放在客戶機(jī)端完成,從而減輕了主機(jī)的負(fù)擔(dān),也增加了系統(tǒng)對用戶的響應(yīng)速度和響應(yīng)能力。C/S模式是目前占主流的網(wǎng)絡(luò)計(jì)算模式。(4)返回第二步,等待另一客戶請求。(3)請求結(jié)束后關(guān)閉通信通道并終止。它是一種自由、開源的軟件。無論是從設(shè)計(jì)草案還是從一個(gè)遺留數(shù)據(jù)庫開始,開發(fā)人員都可以采用Hibernate。3 系統(tǒng)需求分析前面兩章介紹了課題的選題背景和相關(guān)的技術(shù)基礎(chǔ)和協(xié)議。(1)即時(shí)消息的傳輸必須足夠的迅速;(2)即時(shí)消息的內(nèi)容必須足夠豐富;(