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

正文內(nèi)容

基于java即時(shí)聊天系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-預(yù)覽頁(yè)

 

【正文】 提高工作效率。使您不必花費(fèi)大量的時(shí)間、金錢聚集到一個(gè)地方,通過(guò)網(wǎng)絡(luò),就能實(shí)現(xiàn)面對(duì)面的溝通,提高了效率。這就體現(xiàn)了互動(dòng)性?!?】大部分的即時(shí)通訊服務(wù)提供了presence awareness的特性──顯示聯(lián)絡(luò)人名單,聯(lián)絡(luò)人是否在在線與能否與聯(lián)絡(luò)人交談。二十世紀(jì)七十年代早期,一種較早的即時(shí)通訊形式是柏拉圖系統(tǒng)(PLATO system)。該公司成立于1996年7月,也就是在這個(gè)時(shí)候,四個(gè)月后的1996年11月,互聯(lián)網(wǎng)上最出名,下載使用人數(shù)最多的免費(fèi)軟件ICQ誕生了,她是由幾個(gè)以色列的年輕人制作的,在無(wú)人投資的情況下,他們向全球互聯(lián)網(wǎng)用戶提供免費(fèi)下載使用,到了1998年,Mirabilis公司的ICQ用戶已經(jīng)發(fā)展到1200萬(wàn)人,并以每月100萬(wàn)用戶的速度增加。2 涉及的相關(guān)技術(shù)及協(xié)議為了保證課題能正常實(shí)施,先來(lái)分析一下課題所需要的相關(guān)技術(shù)和協(xié)議。今天,Java的網(wǎng)絡(luò)功能正在飛躍發(fā)展,不斷有新的特性增加到這個(gè)有價(jià)值的基礎(chǔ)上,JavaSoft實(shí)驗(yàn)室正在不斷努力使Java更加完善。這一編譯過(guò)程同C/C++的編譯有些不同。這樣就有效的保證了Java的可移植性和安全性??蛻魴C(jī)和服務(wù)器之間通過(guò)相應(yīng)的網(wǎng)絡(luò)協(xié)議來(lái)進(jìn)行通訊。該模式在操作過(guò)程中采取的是主動(dòng)請(qǐng)示方式:首先服務(wù)器方要先啟動(dòng),并根據(jù)請(qǐng)示提供相應(yīng)服務(wù)(過(guò)程如下):(1)打開(kāi)一個(gè)通信通道同時(shí)通知本地主機(jī),服務(wù)器愿意在某一個(gè)公認(rèn)地址上接收客戶請(qǐng)求。(5)關(guān)閉該服務(wù)器。分布運(yùn)算和分布管理是客戶機(jī)/服務(wù)器模式的特點(diǎn)。它用來(lái)把對(duì)象模型表示的對(duì)象映射到基于SQL 的關(guān)系模型結(jié)構(gòu)中去,為面向?qū)ο蟮念I(lǐng)域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的映射,提供了一個(gè)使用方便的框架。在應(yīng)用方面,Hibernate對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。在本章中將討論一下即時(shí)通訊系統(tǒng)的需求分析。 即時(shí)消息的協(xié)議需求協(xié)議是一系列的步驟,它包括雙方或者多方,設(shè)計(jì)它的目的是要完成一項(xiàng)任務(wù)。這些信息的格式必須是協(xié)議參與方同意并且遵循的。 通訊需求(1)用戶可以傳輸文本消息;(2)用戶可以傳輸RTF格式消息;(3)用戶可以加密/解密消息等。給即時(shí)通訊工具設(shè)計(jì)一個(gè)客戶層具有很多優(yōu)點(diǎn),這是因?yàn)榭蛻魧訐?dān)負(fù)著用戶與應(yīng)用間的對(duì)話功能。服務(wù)層又叫做功能層,相當(dāng)于應(yīng)用的本體,它是將具體的業(yè)務(wù)處理邏輯編入程序中。第二步,根據(jù)用戶A存儲(chǔ)在IM服務(wù)器上的好友列表(Buddy List),服務(wù)器將用戶A在線的相關(guān)信息發(fā)送給也同時(shí)在線的IM好友的PC機(jī),這些信息包括在線狀態(tài)、IP地址、IM客戶端使用的TCP端口(Port)號(hào)等,IM好友的客戶端收到此信息后將在予以提示。因?yàn)樵撓到y(tǒng)其需求是十分明確的,所以該系統(tǒng)的開(kāi)發(fā)流程采用瀑布模型進(jìn)行設(shè)計(jì),分為幾大步驟:先進(jìn)行需求分析,再是系統(tǒng)設(shè)計(jì),然后是詳細(xì)設(shè)計(jì)與編碼,其次是軟件的測(cè)試,最后是軟件的運(yùn)行和維護(hù)。根據(jù)以上描述,該系統(tǒng)功能模塊圖請(qǐng)見(jiàn)圖3。(3)數(shù)據(jù)庫(kù)數(shù)據(jù)操作包括將用戶信息存儲(chǔ)到數(shù)據(jù)庫(kù)等。(3)通信交流:客戶端可完成的信息的編輯、發(fā)送和接收等功能。用戶表(user)表1 用戶信息表名稱字段名稱類別主鍵非空用戶編號(hào)id數(shù)字是是登錄名CustName文本否是登錄密碼CustPassword文本否是年齡Age文本否是性別Sex文本否是電子郵箱文本否是5 詳細(xì)設(shè)計(jì) 服務(wù)器端的設(shè)計(jì)與實(shí)現(xiàn)作為C/S模式下的系統(tǒng)開(kāi)發(fā),很顯然服務(wù)器端程序的設(shè)計(jì)是非常重要的。主服務(wù)器類實(shí)現(xiàn)了服務(wù)器端的多線程,使用SeverSocket s=newServerSocket(1001)語(yǔ)句在1001端口創(chuàng)建套接口;使用new ServerThread(socket)語(yǔ)句創(chuàng)建新的線程。實(shí)現(xiàn)界面如圖4。static boolean newMessage。if(start) { (已啟動(dòng)...)。其中,log為輸出語(yǔ)句,表示在窗口中輸出“服務(wù)器已啟動(dòng)”信息。 } }這個(gè)函數(shù)的作用是監(jiān)聽(tīng)用戶信息,void表示定義的函數(shù)不需要返回值,while是循環(huán)語(yǔ)句關(guān)鍵字,在語(yǔ)句中的意思為直到start的值不為空,將循環(huán)執(zhí)行后面括號(hào)的語(yǔ)句,直到start值為空后,循環(huán)才結(jié)束。如果客戶端輸入的字符串表方式需要登錄,那么服務(wù)器在接收到該信息后連接數(shù)據(jù)庫(kù),準(zhǔn)備從數(shù)據(jù)庫(kù)選擇昵稱和密碼。用戶新建過(guò)程也在線程監(jiān)聽(tīng)函數(shù)run()中??蛻舳送ㄟ^(guò)Socket與服務(wù)器建立連接。等服務(wù)器接收完畢后,服務(wù)器會(huì)通過(guò)hibernate框架讀取數(shù)據(jù)庫(kù)信息,并進(jìn)行判斷,最后在客戶端收到服務(wù)器的反饋信息。public Register(String ip) { btnOk=new JButton(確定(O))。 (保存注冊(cè)信息)。這條語(yǔ)句中,JButton其實(shí)是一個(gè)類,名為JButton按鈕類,它是JAVA中自帶的一種控件,當(dāng)鼠標(biāo)移入、移出、被點(diǎn)擊所定義的3個(gè)變量時(shí),會(huì)觸發(fā)JButton類,從而執(zhí)行相應(yīng)的操作。圖7 用戶注冊(cè)界面 用戶登錄當(dāng)用戶點(diǎn)擊登錄時(shí),客戶端發(fā)起請(qǐng)求與服務(wù)端建立連接,登錄信息首先在客戶端做驗(yàn)證,然后通過(guò)填寫(xiě)的服務(wù)器IP地址申請(qǐng)與服務(wù)端建立連接。最后將登錄的結(jié)果通過(guò)文本發(fā)送給客戶端發(fā)送給服務(wù)端。 (null,用戶名或密碼不能為空)。這里equals表示接受變量的值;“||”表示“或”的意思,;showMessageDialog是JAVA的自帶控件,作用是在當(dāng)前界面彈出對(duì)話框;關(guān)鍵字new,是一種調(diào)用方法,表示能夠直接調(diào)用類的構(gòu)造方法。i()。i()這個(gè)條件,循環(huán)將執(zhí)行一次。也就是說(shuō),在服務(wù)端開(kāi)啟socket服務(wù),客戶端每一次連接成功時(shí)也都會(huì)同時(shí)創(chuàng)建一個(gè)線程來(lái)處理這次連接的請(qǐng)求,而該連接會(huì)被保存在一個(gè)集合中,直到服務(wù)結(jié)束,連接關(guān)閉,該線程也會(huì)結(jié)束,同時(shí)從連接的集合中移除該連接。 =()。 ObjectOutputStream outObj=new ObjectOutputStream(())。 }catch(Exception e){ }}其中,方法中的前三句表示系統(tǒng)獲取發(fā)送信息者的昵稱,發(fā)送信息內(nèi)容以及發(fā)送對(duì)象的昵稱;()?true:false這是一個(gè)判斷語(yǔ)句,表示信息值是否為空,如果isSelected方法有值,如果為空,則賦false。(chatobj)的作用則是把調(diào)用writeObject方法,將信息發(fā)送到服務(wù)器。 //將信息發(fā)往服務(wù)器Message messobj=new Message()。ObjectOutputStream 將 Java 對(duì)象的基本數(shù)據(jù)類型和圖形寫(xiě)入 OutputStream。也就是說(shuō)通過(guò)ObjectOutputStream ()進(jìn)行重構(gòu),從而將服務(wù)器接受的信息重構(gòu)到客戶機(jī)上,()方法將信息寫(xiě)在客戶端上。6 結(jié)論眾所周知,互聯(lián)網(wǎng)從誕生以來(lái),就開(kāi)始影響著地球的每一個(gè)角落,給予了人類一種全新的生活方式,隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,新興的技術(shù)也層出不窮,即時(shí)通信系統(tǒng)就是這么一種以聊天形式為主的廣受歡迎的互聯(lián)網(wǎng)技術(shù)。其次,本即時(shí)聊天系統(tǒng)采用了C/S模型。再次,本文并沒(méi)有采用復(fù)雜的SQL,ORICLE等數(shù)據(jù)庫(kù),而是通過(guò)hibernate框架對(duì)數(shù)據(jù)進(jìn)行映射,然后利用*.。經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)和工作,該即時(shí)聊天系統(tǒng)已經(jīng)初具雛形,實(shí)現(xiàn)了網(wǎng)絡(luò)即時(shí)通信工具的主要功能,為實(shí)現(xiàn)一個(gè)嶄新的可跨平臺(tái)的Java即時(shí)聊天工具打下了基礎(chǔ)。值此論文完成之際,心中充滿了一片感激之情,在整個(gè)論文完成的過(guò)程中得到了我的導(dǎo)師于永武于老師的精心指導(dǎo),在此要向他致以最崇敬的感謝。感謝我的舍友廖鴻,方敏同學(xué),在論文完成的過(guò)程中是他們?cè)谏钌虾蛯W(xué)習(xí)上給予我很大的幫助和支持,在我進(jìn)行畢業(yè)設(shè)計(jì)的過(guò)程中是他們不斷給我自信,如今才能順利完稿。最后我要誠(chéng)摯地感謝我的家人,是他們無(wú)微不至的關(guān)懷、一貫的體諒與支持,使我能在工作和學(xué)習(xí)上不斷前進(jìn),他們是我努力工作和積極生活的精神支柱。 軟件條件即時(shí)通信服務(wù)器:Windows2003。 運(yùn)行客戶端在Windows控制臺(tái)下執(zhí)行如下命令:javac 。首先右鍵點(diǎn)我的電腦。而java_home和classpath是不存在的。%java_home%\lib。然后打“java version”,如果安裝成功。然后輸入cd c:\chat\src\org\seler\service\。25
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1