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

正文內(nèi)容

基于java的分布式聊天系統(tǒng)設(shè)計(jì)(編輯修改稿)

2025-07-24 18:19 本頁面
 

【文章內(nèi)容簡介】 。分布式網(wǎng)絡(luò)存儲(chǔ)技術(shù)是將數(shù)據(jù)分散的存儲(chǔ)于多臺(tái)獨(dú)立的機(jī)器設(shè)備上。分布式網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺(tái)存儲(chǔ)服務(wù)器分擔(dān)存儲(chǔ)負(fù)荷,利用位置服務(wù)器定位存儲(chǔ)信息,不但解決了傳統(tǒng)集中式存儲(chǔ)系統(tǒng)中單存儲(chǔ)服務(wù)器的瓶頸問題,還提高了系統(tǒng)的可靠性、可用性和擴(kuò)展性。最近的分布式計(jì)算項(xiàng)目已經(jīng)被用于使用世界各地成千上萬位志愿者的計(jì)算機(jī)的閑置計(jì)算能力,通過因特網(wǎng),您可以分析來自外太空的電訊號(hào),尋找隱蔽的黑洞,并探索可能存在的外星智慧生命;您可以尋找超過1000萬位數(shù)字的梅森質(zhì)數(shù);您也可以尋找并發(fā)現(xiàn)對(duì)抗艾滋病病毒的更為有效的藥物。這些項(xiàng)目都很龐大,需要驚人的計(jì)算量,僅僅由單個(gè)的電腦或是個(gè)人在一個(gè)能讓人接受的時(shí)間內(nèi)計(jì)算完成是決不可能的。隨著計(jì)算機(jī)的普及,個(gè)人電腦開始進(jìn)入千家萬戶。與之伴隨產(chǎn)生的是電腦的利用問題。越來越多的電腦處于閑置狀態(tài),即使在開機(jī)狀態(tài)下CPU的潛力也遠(yuǎn)遠(yuǎn)不能被完全利用。我們可以想象,一臺(tái)家用的計(jì)算機(jī)將大多數(shù)的時(shí)間花費(fèi)在“等待”上面。即便是使用者實(shí)際使用他們的計(jì)算機(jī)時(shí),處理器依然是寂靜的消費(fèi),依然是不計(jì)其數(shù)的等待(等待輸入,但實(shí)際上并沒有做什么)。互聯(lián)網(wǎng)的出現(xiàn), 使得連接調(diào)用所有這些擁有限制計(jì)算資源的計(jì)算機(jī)系統(tǒng)成為了現(xiàn)實(shí)。 JAVA語言在分布式系統(tǒng)的應(yīng)用分布式計(jì)算不是一門年輕的技術(shù),早在上個(gè)世紀(jì)70年代末便已是計(jì)算機(jī)科學(xué)的一個(gè)獨(dú)立分支了;它也不是一門冷僻的技術(shù),從C/S模式到P2P模式,從集群計(jì)算到網(wǎng)格計(jì)算,乃至風(fēng)靡當(dāng)下的云計(jì)算,都是其表演的舞臺(tái)。另一方面,JAVA作為一門應(yīng)網(wǎng)絡(luò)而生的語言,對(duì)分布式計(jì)算有著天然的友好性,同時(shí)也是當(dāng)今最流行的編程語言。然而令人稍感意外的是,以“分布式JAVA應(yīng)用”為專題的書籍并不多見,佳作則更少。至于國人所著者,請(qǐng)恕在下孤陋,尚未得見。不過細(xì)想之下,其實(shí)不足為奇。要開發(fā)一個(gè)高質(zhì)量的分布式JAVA應(yīng)用,以達(dá)到高性能、可伸縮、高可用、低延遲的要求,同時(shí)保證一致性、容錯(cuò)性、可恢復(fù)性和安全性,是何等的不易啊。它對(duì)程序開發(fā)的挑戰(zhàn)在于:不僅需要對(duì)JAVA語言、類庫、各種框架及相關(guān)工具極為熟悉,還需要對(duì)底層的JVM機(jī)制、各種網(wǎng)絡(luò)協(xié)議有足夠的了解;它對(duì)分析設(shè)計(jì)的挑戰(zhàn)在于:不僅需要熟悉傳統(tǒng)的應(yīng)用架構(gòu)模式,還需要掌握適用于分布式應(yīng)用的架構(gòu)模式和算法設(shè)計(jì)。此外,分布式應(yīng)用對(duì)數(shù)據(jù)庫管理員、測試分析人員等也提出了更高的要求。大型應(yīng)用通常會(huì)拆分為多個(gè)子系統(tǒng)來實(shí)現(xiàn),對(duì)于JAVA來說,這些子系統(tǒng)可能部署在同一臺(tái)機(jī)器的多個(gè)不同的JVM中,也可能部署在不同的機(jī)器上,但這些子系統(tǒng)又不是完全獨(dú)立的,要相互通信來共同實(shí)現(xiàn)業(yè)務(wù)功能,對(duì)于此類JAVA應(yīng)用,我們稱之為分布式JAVA應(yīng)用。對(duì)于分布式JAVA應(yīng)用,本系統(tǒng)設(shè)計(jì)主要采用一種非常典型的方法來實(shí)現(xiàn),即基于消息方式實(shí)現(xiàn)系統(tǒng)間的通信方式:當(dāng)系統(tǒng)之間要通信時(shí),就向外發(fā)送消息,消息可以是字節(jié)流、字節(jié)數(shù)組,甚至是JAVA對(duì)象,其他系統(tǒng)接收到消息后則進(jìn)行相應(yīng)的業(yè)務(wù)處理。消息方式的系統(tǒng)間通信,通常基于網(wǎng)絡(luò)協(xié)議來實(shí)現(xiàn),常用的實(shí)現(xiàn)系統(tǒng)間通信的協(xié)議有:TCP/IP和UDP/IP。TCP/IP是一種可靠的網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膮f(xié)議。TCP/IP要求通信雙方首先建立連接,之后再進(jìn)行數(shù)據(jù)的傳輸。TCP/IP負(fù)責(zé)保證數(shù)據(jù)傳輸?shù)目煽啃裕〝?shù)據(jù)的可到達(dá)、數(shù)據(jù)到達(dá)的順序等,但由于TCP/IP需要保證連接及數(shù)據(jù)傳輸?shù)目煽?,因此可能?huì)犧牲一些性能。UDP/IP是一種不保證數(shù)據(jù)一定到達(dá)的網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議。UDP/IP并不直接給通信的雙方建立連接,而是發(fā)送到網(wǎng)絡(luò)上進(jìn)行傳遞。由于UDP/IP不建立連接,并且不能保證數(shù)據(jù)傳輸?shù)目煽?,因此性能上表現(xiàn)相對(duì)較好,但可能會(huì)出現(xiàn)數(shù)據(jù)丟失以及數(shù)據(jù)亂序的現(xiàn)象。2 需求分析 系統(tǒng)說明聊天系統(tǒng)不外乎兩個(gè)方面,服務(wù)器端和客戶端。簡單分析一下兩個(gè)方面所要完成的任務(wù),對(duì)設(shè)計(jì)這個(gè)程序來說,等于完成了一半。首先來看一下服務(wù)器端的任務(wù):  1.服務(wù)器端應(yīng)當(dāng)建立一個(gè)ServerSocket,并且不斷進(jìn)行偵聽是否有客戶端連接或者斷開連接(包括判斷沒有響應(yīng)的連接超時(shí))?! ?.服務(wù)器端應(yīng)當(dāng)是一個(gè)信息發(fā)送中心,所有客戶端的信息都傳到服務(wù)器端,由服務(wù)器端根據(jù)要求分發(fā)信息。  以上就是服務(wù)器端最主要的兩個(gè)任務(wù)。不難看出,服務(wù)器端的任務(wù)并不復(fù)雜?! 】蛻舳藨?yīng)該完成的工作包括:  1.與服務(wù)器端建立通信通道,向服務(wù)器端發(fā)送信息?! ?.接收來自服務(wù)器的信息。相對(duì)服務(wù)器而言,客戶端的任務(wù)更加簡單,有了以上的簡單分析,可以知道,解決上述四個(gè)問題,即完成了該聊天系統(tǒng)的核心。 系統(tǒng)功能簡介 基本功能1.戶可以注冊(cè)。2.用戶可以登錄。3.用戶可以添加好友。4.用戶可以刪除好友。5.用戶可以發(fā)送和接收消息。 界面設(shè)計(jì)程序界面主要參考騰迅公司的2000,在實(shí)現(xiàn)時(shí)采用的JAVA的Swing圖形包。開發(fā)工具用的是Eclipse。用戶在使用的過程中一目了然。3 系統(tǒng)設(shè)計(jì) 系統(tǒng)設(shè)計(jì)思想 聊天系統(tǒng)的設(shè)計(jì)跟普通網(wǎng)站設(shè)計(jì)有著許多不同的地方,普通網(wǎng)站設(shè)計(jì)所考慮的因素,例如,普通網(wǎng)站需要對(duì)布局進(jìn)入大量美化以及動(dòng)畫設(shè)計(jì)等等,而聊天室只要提供滿足訪客雙方直接實(shí)時(shí)聊天即可。因此,在設(shè)計(jì)聊天系統(tǒng)的過程中,必須要考慮好以下幾個(gè)設(shè)計(jì)要點(diǎn):1.實(shí)現(xiàn)思想在Internet上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應(yīng),使用者通過客戶端程序登錄到服務(wù)器,就可以與登錄在同一服務(wù)器上的用戶交談,這是一個(gè)面向連接的通信過程。因此,程序要在TCP/IP環(huán)境下,實(shí)現(xiàn)服務(wù)器端和客戶端兩部分程序。2.服務(wù)器端工作流程服務(wù)器端通過Socket()系統(tǒng)調(diào)用創(chuàng)建一個(gè)Socket數(shù)組后(即設(shè)定了接受連接客戶的最大數(shù)目),與指定的本地端口綁定bind(),就可以在端口進(jìn)行偵聽listen()。如果有客戶端連接請(qǐng)求,則在數(shù)組中選擇一個(gè)空Socket,將客戶端地址賦給這個(gè)Socket。然后登錄成功的客戶就可以在服務(wù)器上聊天了。3.客戶端工作流程客戶端程序相對(duì)簡單,只需要建立一個(gè)Socket與服務(wù)器端連接,成功后通過這個(gè)Socket來發(fā)送和接收數(shù)據(jù)就可以了。3 .2 聊天系統(tǒng)的功能模塊設(shè)計(jì) 聊天系統(tǒng)工作原理圖:圖31 聊天系統(tǒng)原理圖 聊天系統(tǒng)功能圖建立連接操作數(shù)據(jù)服務(wù)器監(jiān)聽聊天系統(tǒng)用戶注冊(cè)用戶登錄添加/刪除好友客戶端查找好友聊天圖32 聊天系統(tǒng)功能結(jié)構(gòu)圖 數(shù)據(jù)庫設(shè)計(jì) 系統(tǒng)采用任何一種流行的,Java支持的數(shù)據(jù)庫,本系統(tǒng)采用了Microsoft公司的SQL Server2000作為后臺(tái)數(shù)據(jù)庫。通過對(duì)現(xiàn)在流行的一些Icq的參考,建立數(shù)據(jù)庫,名為javaicq,數(shù)據(jù)庫共建立兩個(gè)表,一個(gè)是用戶的基本信息,包括呢稱,Jicq號(hào)碼等。一個(gè)是用戶的好友表,包括用戶自己的號(hào)碼和好友的號(hào)碼。
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1