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

正文內(nèi)容

基于cs結(jié)構(gòu)的即時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)-wenkub.com

2025-06-15 15:33 本頁面
   

【正文】 感謝參考文獻(xiàn)的所有作者,他們卓有成效的研究成果是筆者論文研究的基礎(chǔ)。在此論文脫稿之際,我再一次向他致以最誠摯的謝意。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、對(duì)知識(shí)不懈的追求,必將使我受益終身。盡管本系統(tǒng)基本實(shí)現(xiàn)了基本的通信功能,但是由于受編程技術(shù)和經(jīng)驗(yàn)的限制,不得不承認(rèn),某些功能實(shí)現(xiàn)得有點(diǎn)簡單,甚至簡陋,還有一些功能沒有實(shí)現(xiàn),例如通信信息的安全性沒有實(shí)現(xiàn)。后臺(tái)還可以對(duì)用戶進(jìn)行管理。 if (t == null) { //不在線就暫時(shí)存儲(chǔ)在服務(wù)器上 (receiverAccount, m)。(m)。 ()。 } if(()==1){ (()+你同意接受文件 :+()+\n)。 (\n)。 (()+\n)。 try { File f = new File(c:/+().toString()+.txt)。 dispose()。 h=(hheight?h:height)。 // (x++y++width++height+)。截取全部屏幕的圖片,然后顯示出來,覆蓋住整個(gè)屏幕。 //發(fā)送數(shù)據(jù)包通知下線 notifyOffline()。 //停止線程 interrupt()。 } catch (SQLException e) { // TODO Autogenerated catch block ()。 try { ps=(DELETE)。 } } catch (SQLException e) { // TODO Autogenerated catch block ()。 (u)。 (1, begin)。 } 用戶管理模塊 流程圖開始登錄踢用戶下線查看在線用戶用戶增刪改查結(jié)束圖59 web用戶登錄圖 關(guān)鍵代碼用戶管理的前臺(tái)頁面是jsp頁面, 在頁面中可以對(duì)用戶進(jìn)行增刪改查。 (new Color(0,0,255), 文件+()+( +()/1000+M)+接收完成+\n)。 }elseif (()==1){ //同意發(fā)送 (同意發(fā)送)。 ().setMaximum(()/10)。 } }else{ (0)。 (1)。 int mod=(chat)。 (sender)。 } catch (IOException e) { // TODO Autogenerated catch block ()。 (4)。} (false)。 while((num = (b)) != 1){ (b)。 JProgressBar bar=()。 } 對(duì)方會(huì)顯示提示信息:圖57 詢問接收文件圖如果對(duì)方同意接收則開啟線程。//文件名 (2)。 ((()))。 f=()。 } 文件模塊 流程圖選擇文件確定接收請(qǐng)求發(fā)送文件對(duì)方拒絕接收同意接收選擇存放目錄接收文件發(fā)送文件圖56發(fā)送文件流程圖 關(guān)鍵代碼1)客戶端代碼在客戶端采用JfileChooser來瀏覽本地文件,點(diǎn)擊瀏覽按鈕后,會(huì)彈出對(duì)話框,讓用戶選擇文件,然后將文件名,大小等信息封裝在數(shù)據(jù)包里,發(fā)送出去[24]。 Integer receiverAccount = ()。 } catch (BadLocationException e) { ()。 //設(shè)置光標(biāo)到末尾 (())。 } catch (IOException e) { ()。 try { ((RenderedImage) img, jpg, bos)。 //設(shè)置光標(biāo)到末尾 (())。 (attrset,c)。 //在自己的Ouput上顯示 showMessage(m,)。 // 關(guān)閉Socket ()。 ( 成功)。 } //開啟線程 ()。 //為用戶單獨(dú)創(chuàng)建線程 ClientThread t=new ClientThread(s)。 ()。 } returnfalse。 }這樣按照MVC的模式設(shè)計(jì),減小系統(tǒng)的耦合。 return ms。 }客戶端通過publicclass IMClientServer 類與服務(wù)器通信public Object sendLoginInfo(Object o) { try { ObjectOutputStream oos = new ObjectOutputStream(())。 ()。 //將好友列表放到管理器中,進(jìn)行上下線操作 IMFriendList fl=new IMFriendList((),())。// (())。 } }。 try { (m)。// 登陸成功 if((u)){ //向服務(wù)器發(fā)送數(shù)據(jù)包,請(qǐng)求在線人得信息 ClientConnToServerThread t=。// (())。 }finally{ close()。 (5, ())。 (1, ())。 if(()==null) (u)。下面詳細(xì)介紹各個(gè)模塊的具體實(shí)現(xiàn)。線程類為ClientThread:表43ClientThread類屬性名作用publicvoid notifyOnline()通知其他線程,自己上線了,讓客戶方更新頭像publicvoid run() 線程的主題,轉(zhuǎn)發(fā)消息publicvoid notifyOffline(){通知其他線程,自己下線了,讓客戶方更新頭像publicvoid send(Object o) 發(fā)送消息public Object receive() 接收消息5 即時(shí)通信系統(tǒng)實(shí)現(xiàn) 實(shí)現(xiàn)概況本系統(tǒng)可分為登錄、聊天、文件、用戶管理和注冊(cè)五個(gè)功能模塊。Thread+runafterSend:記錄發(fā)出數(shù)據(jù)afterreceive:記錄接收到的數(shù)據(jù) ClientConnToServerThred+run()+send(in o:Object)+receive():ObjectMessageRecord+afterSend(in o:Object)+afterREceive(in o:Object0圖49MessageRecord類如果是圖片則顯示出,發(fā)送時(shí)間和圖片大小。然后監(jiān)聽鼠標(biāo)事件,再用createScreenCapture(Rectangle//文件包}:截圖類的實(shí)現(xiàn)類為:class Screenshot extends JFrame implements MouseListener,MouseMotionListener。//要求在線好友的包 Integer message_ret_onLineFriend=5。文件傳輸?shù)臓顟B(tài):0是不接受文件,1是接受文件,2請(qǐng)求發(fā)送文件,3文件傳輸中,4文件傳送完成 private Integer msgType消息的類型有這么幾種:publicinterface MessageType { Integer message_succeed=1。圖片的內(nèi)容private String fileName。發(fā)送時(shí)間private User myself。信息類型private String content。此包中包含接收者的信息,如果接收者在線,數(shù)據(jù)包將會(huì)轉(zhuǎn)發(fā)到接收者[17]。如果登陸成功,就更新在線狀態(tài)。(8)在線用戶的操作 管理員通過B/S的系統(tǒng)對(duì)在線用戶操作,可以踢用戶下線。B接收到A發(fā)來的文件信息,會(huì)根據(jù)文件發(fā)送的狀態(tài)和byte[]構(gòu)造文件[1314]。B接收到A發(fā)來的截圖信息,會(huì)根據(jù)byte[]構(gòu)造圖片,將圖片顯示出來。如果B不在線則把信息儲(chǔ)存在服務(wù)器,等B上線了在發(fā)送給他。(2)登錄在客戶端,用戶輸入其號(hào)碼和密碼,然后建立與服務(wù)器的連接,告訴服務(wù)器我要登錄,服務(wù)器收到后,開始通過JDBC讀取數(shù)據(jù)庫,然后與用戶輸入的信息進(jìn)行比對(duì),如果成功,便打開主程序窗口。如果要實(shí)現(xiàn)internet上通訊,只需要將服務(wù)器端運(yùn)行在一個(gè)有固定IP的公網(wǎng)上就可以。因此技術(shù)上是可以實(shí)現(xiàn)的。服務(wù)器端應(yīng)當(dāng)建立一個(gè)ServerSocket,并且不斷進(jìn)行偵聽是否有客戶端連接或者斷開連接(包括判斷沒有響應(yīng)的連接超時(shí))。而TCP協(xié)議則解決了數(shù)據(jù)傳輸可靠性的問題。傳輸層:主要功能是為Internet提供可靠地傳輸控制,主要的協(xié)議包括TCP協(xié)議和UDP協(xié)議。協(xié)議采用了 4層的層級(jí)結(jié)構(gòu):網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全 。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。發(fā)送和接收數(shù)據(jù)報(bào)需要使用Java類庫中的DatagramPacket類和DatagramSocket類。由于本系統(tǒng)存在單個(gè)服務(wù)程序與多個(gè)客戶程序通信的可能,所以服務(wù)程序要響應(yīng)客戶程序不應(yīng)該花很多時(shí)間,否則客戶程序在得到服務(wù)前有可能花很多時(shí)間來等待通信的建立,然而服務(wù)器程序和客戶程序的會(huì)話可能很長,因此,為加快對(duì)客戶程序連接請(qǐng)求的響應(yīng),比較好的解決方法是服務(wù)器主機(jī)運(yùn)行一個(gè)后臺(tái)線程,這個(gè)后臺(tái)線程處理服務(wù)器和客戶端程序的通信。套接字分為服務(wù)器端套接字、客戶端套接字??蛻舳藦膰L試建立與服務(wù)器連接開始,服務(wù)器可能接受或拒絕連接。Java支持流套接字和數(shù)據(jù)報(bào)套接字。與其他的大型數(shù)據(jù)庫例如Oracle、DBSQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒有減少它受歡迎的程度。這樣可以減輕服務(wù)器端的開銷,同時(shí)保證了多個(gè)用戶端連接能夠得到快速而高效的服務(wù)[9]。因此線程間的切換也是低開銷的?;谶M(jìn)程的多任務(wù)處理的特點(diǎn)是一個(gè)程序可以同時(shí)執(zhí)行兩個(gè)或多個(gè)任務(wù)的功能。進(jìn)程是程序的一次動(dòng)態(tài)執(zhí)行,對(duì)應(yīng)了從代碼加載、執(zhí)行至執(zhí)行完畢的一個(gè)完整過程。本系統(tǒng)中大量使用了Swing組件編程。MyEclipse 企業(yè)級(jí)工作平臺(tái)(MyEcIipse Enterprise Workbench,簡稱 MyEcIipse)是對(duì)Eclipse IDE的擴(kuò)展,集成了從J2EE到各種輕量級(jí)的框架(Struts,Spring,Hibemate等等),有利于程序的一體化開發(fā)。在網(wǎng)絡(luò)環(huán)境下,Java語言編寫的代碼用于客戶端架構(gòu)可減少維護(hù)工作。只要操作系統(tǒng)支持,Java中的線程就可以利用多個(gè)處理器。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),只要有Java運(yùn)行時(shí)系統(tǒng),這種字節(jié)碼不僅可以很容易地在任何機(jī)器上被解釋執(zhí)行,而且還可以迅速地翻譯成本地機(jī)器的代碼。Java的安全檢查機(jī)制使得Java更具健壯性。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。從誕生起,Java就與網(wǎng)絡(luò)聯(lián)系在一起,它強(qiáng)調(diào)網(wǎng)絡(luò)特性,內(nèi)置TCP/IP、HTTP、FTP協(xié)議類庫,Java應(yīng)用程序能過通過URL打開和訪問網(wǎng)絡(luò)上的對(duì)象,其便利程度如同訪問本地文件系統(tǒng)一樣。特別地,Java語言不使用指針,并提供了自動(dòng)垃圾回收機(jī)制[9]。為了簡單起見,Java語言只支持類之間的單繼承,但支持接口之間的多繼承。迄今為止,Java語言已作為一門綜合性技術(shù)在眾多領(lǐng)域得到發(fā)展和應(yīng)用。近年來,Java變得非常流行,顯示出獨(dú)特的魅力:跨平臺(tái)、動(dòng)態(tài)的Web、Internet計(jì)算。重點(diǎn)介紹了系統(tǒng)的服務(wù)器端和客戶端的實(shí)現(xiàn)。然后通過需求分析確定了系統(tǒng)所要實(shí)現(xiàn)的基本功能。包括套接字編程,多線程編程技術(shù),Swing輕量級(jí)圖形用戶界面開發(fā),系統(tǒng)開發(fā)的C/S架構(gòu)等。第二章主要內(nèi)容介紹。本文最終設(shè)計(jì)出一個(gè)簡易而實(shí)用的網(wǎng)絡(luò)即時(shí)通訊軟件,模式又分為服務(wù)器和客戶端兩部分:客戶端通過輸入服務(wù)器端的IP地址與服務(wù)器建立通信。程序采用的是使用Socket套接字進(jìn)行網(wǎng)絡(luò)通訊模塊設(shè)計(jì),界面部分采用Swing輕量級(jí)控件,能夠是系統(tǒng)的控件在各個(gè)平臺(tái)上具有完全相同的界面,達(dá)到了很好的互通性。首先對(duì)系統(tǒng)的可行性進(jìn)行分析,確定了系統(tǒng)開發(fā)可行。(4)系統(tǒng)應(yīng)用之后,使得溝通的渠道通暢,交流實(shí)現(xiàn)扁平化,避免了過去傳達(dá)匯報(bào)的傳統(tǒng)交流溝通方式,使得溝通交流更加的有效。通過研究開發(fā)出一款適合于企事業(yè)單位使用的即時(shí)通訊軟件。所以期待能用Java語言編程改善和解決一些問題,進(jìn)一步提升即時(shí)通訊的功用。現(xiàn)代社會(huì)的信息越來越發(fā)達(dá),生活節(jié)奏也越來越快,于是新型的省時(shí),省力而又高速便捷美觀的即時(shí)通訊工具迅速發(fā)展起來。每天一打開通信軟件,
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1