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

正文內容

基于cs結構的即時通信系統(tǒng)的設計與實現(xiàn)畢業(yè)設計-wenkub

2023-07-03 15:33:32 本頁面
 

【正文】 就會彈出各個群的信息,很多好友的信息,每天的交流溝通占去了很多很多的時間,工作效率低下。如果因特網不暢通,那么這些軟件都不能正常的使用,而且很多的即時通訊軟件只能在Windows平臺下運行,不能在Linux、Mac OS上跨平臺運行,除了個別的幾個工具之外,也不能再移動平臺上運行。如飛信可以免費發(fā)送短信到好友的手機。同時,隨著多媒體計算機技術和通信技術的迅猛發(fā)展,人們已經不能滿足于簡單的話音和文字通信,希望集語音、文字和圖像于一體的多媒體通信[24]。基于CS結構的即時通信系統(tǒng)的設計與實現(xiàn)畢業(yè)設計目 錄1 緒 論 1 即時通倍系統(tǒng)概述和選題背景 1 選題的目的和研究意義 2 本論文的研究方法 3 本論文的內容 32 主要技術介紹 5 開發(fā)環(huán)境介紹 5 Java語言的產生與發(fā)展簡介 5 Java語言的主要特點 5 Java web和struts2技術 6 MyEcIipse 7 Swing 編程 7 多線程編程 7 MySQL數(shù)據庫簡介 8 即時通訊系統(tǒng)原理 8 套接字通信 9 數(shù)據報通信 9 系統(tǒng)的主要架構 9 TCP/IP 協(xié)議 103 即時通信系統(tǒng)分析 12 系統(tǒng)基本功能描述 12 可行性分析 12 系統(tǒng)需求分析 124 即時通信系統(tǒng)設計 15 數(shù)據庫設計 15 系統(tǒng)模塊設計 15 聊天系統(tǒng)工作原理圖 15 系統(tǒng)功能模塊圖: 16 系統(tǒng)用例圖 17 活動圖 18 系統(tǒng)類設計 19 Message類的設計: 19 截圖類的設計: 21 聊天記錄類的設計: 21 服務端線程的設計: 225 即時通信系統(tǒng)實現(xiàn) 23 實現(xiàn)概況 23 注冊模塊 23 流程圖 23 關鍵代碼 24 登錄模塊 25 流程圖 25 關鍵代碼 26 聊天模塊 30 流程圖 30 關鍵代碼 31 文件模塊 35 流程圖 35 關鍵代碼 36 用戶管理模塊 41 流程圖 41 關鍵代碼 42 其他功能的實現(xiàn) 45 截圖功能的實現(xiàn) 45 46 服務端線程的實現(xiàn) 48 用戶界面的設計 48 登陸界面 48 好友列表 49 50結 論 51致 謝 52參考文獻 53附錄A 英文原文 55附錄B 漢語翻譯 621 緒 論 即時通倍系統(tǒng)概述和選題背景即時通信(Instant Messaging,縮寫為IM),是以萬維網為基礎,實現(xiàn)通信雙方語言、文件、語音等實時信息傳送的通信過程[1]。即時通信技術自從1996年誕生以來,經歷了 10余年的發(fā)展,已經從最初的簡單的文字聊天通信工具,發(fā)展成為一個集通信和娛樂統(tǒng)一于一體的廣泛平臺。Google talk的聊天記錄是以郵件的形式保存在Google mail的郵箱里面[5]。隨著時代的發(fā)展,互聯(lián)網時代的到來,人們的溝通交流方式也變得越來越豐富,如Email、BBS、即時通訊軟件、微博、移動終端等。 發(fā)出一款能在企事業(yè)單位內部使用的、進行工作溝通交流的即時通訊軟件,使得我們能在上班的時候免受工作之外的各種信息的干擾,提高我們的溝通質量,提升人們的溝通體驗,就顯得非常必要。例如手機即時通訊和PC即時通訊,手機即時通訊的代表就是短信。在信息化時代,作為人們使用最多的,與日常生活最為密切的即時通訊工具,就成了人與人之間進行信息交流,感情傳遞的主要方式。本系統(tǒng)具有如下的特點:(1)由于減少了工作之外的因素的干擾,工作效率大大的提高,溝通體驗得到了提升。(5)由于采用C/S架構,所有的信息都是通過服務器轉發(fā),很方便的查詢歷史記錄。然后經過需求分析確定了系統(tǒng)最終要實現(xiàn)的功能,確定了本系統(tǒng)所使用的后臺數(shù)據庫系統(tǒng)為MySQL,并對系統(tǒng)中的數(shù)據庫進行了設計。系統(tǒng)釆用模塊化設計,釆用自頂向下的開發(fā)模式??紤]到要可以在局域網中應用,本系統(tǒng)使用的是第二種方法,經過設置,在局域網或internet上都可以使用。詳細的介紹了本系統(tǒng)所涉及到的即時通信的原理。介紹了數(shù)據庫操作的MySQL語言。第四章系統(tǒng)設計。最后是結語和致謝。Java被廣泛接受并推動了 Web的迅速發(fā)展,同時Java技術也不斷更新。Java是面向對象的、簡單的、分布式的、解釋型的、健壯的、安全的、結構中立的、可移植的、高性能的、多線程的和動態(tài)的[7]。另外Java全面支持動態(tài)綁定。總之,Java語法好比C++語法的一個“純凈”版本。另外,Java的RMI(遠程方法激活)機制也是開發(fā)分布式應用的重要手段。(5)Java語言是健壯的。(6) Java語言是安全的。(8) Java語言是可移植的。(9)Java是高性能的。在不同的機器上,只是調用多線程的代碼完全相同,Java把多線程的實現(xiàn)交給了底層的操作系統(tǒng)或線程庫來完成。另外,類庫中增加的新方法和其他實例不會影響到原有程序的運行。簡單而言,MyEcIipse是Eclipse的插件,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,完整支持 HTML,Stmts,JSF,CSS,Javascript,MySQL,Hibernate。本系統(tǒng)用到的Swing組件有面板(JPanel)、滾動窗口(JscrollPane)、選項板(JTabbedPane)、按鈕(JButton)、組合框(JComboBox)、標簽(JLabel)、表格(JTable)、文本域(JTextField)、文本區(qū)域(JTextArea)。一個進程中既包括所要執(zhí)行的指令,也包括執(zhí)行指令所需的任何系統(tǒng)資源,如CPU、內存空間、I/O端口等,不同進程所占用的系統(tǒng)資源相對獨立。多線程程序比多進程程序需要更少的系統(tǒng)開銷。Java支持內置多線程編程。MySQL是一個開放源碼的小型關聯(lián)式數(shù)據庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經綽綽有余,MySQL是最佳的選擇,而且由于MySQL是開放源代碼的軟件,因此,可以大大降低總體的擁有成本。流套接字(stream socket)使用傳輸控制協(xié)議(TCP)進行數(shù)據傳輸,而數(shù)據報套接字使用用戶數(shù)據報協(xié)議(UDP)[10]。一旦建立連接,客戶端和服務器端就可以通過套接字進行通信。首先創(chuàng)建一個服務器,這需要創(chuàng)建一個服務器套接字server socket,在創(chuàng)建服務器套接字之后,服務器使用下列語句監(jiān)聽連接:Socket socket = ServerSocket .accept()。而客戶端只要能夠順序處理服務器程序的響應就可以了,因此客戶端程序通常不使用多線程?;贑/S的體系架構:C/S架構,即Client/Server(客戶機/服務器)結構,是傳統(tǒng)的軟件系統(tǒng)體系結構,通過將任務合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層3tier結構。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更是方便、速度快、效果優(yōu)。應用層應用進程應用進程應用進程應用進程UDPTCP傳輸層網絡層IGMPIPICMPARPRARP網絡接口層網絡接口圖21 TCP/IP協(xié)議體系結構網絡接口層:提供了 TCP/IP與各種物理網絡(局域網、廣域網等)的接口,并為網絡層提供服務。應用層:提供各種應用服務,例如HTTP、SMTP、FTP等協(xié)議。它負責發(fā)現(xiàn)傳輸?shù)膯栴},一旦發(fā)現(xiàn)傳輸過程中有數(shù)據包丟失就會發(fā)出信號,自動要求將丟失的數(shù)據重新傳輸,直到所有數(shù)據安全正確地傳輸?shù)侥康牡?并且能夠調整接收到的數(shù)據包,恢復數(shù)據到原來分片之前的順序。服務器端應當是一個信息發(fā)送中心,所有客戶端的信息都傳到服務器端,由服務器端根據要求分發(fā)信息。(2)經濟可行性計算機網絡已經普及,因此在網絡設備上不需要進行大的投入。綜上所述,即時Java即時通訊系統(tǒng)是可行的。然后客戶向服務器請求讀取好友名單,服務器收到該請求,從數(shù)據庫中取出好友列表,然后向客戶端發(fā)送這些信息,客戶收到后就在主窗口顯示好友。B接收到A發(fā)來的信息,如果是未建立對話窗口,則自動打開顯示。同樣,如果是未建立對話窗口,則自動打開顯示。(6)日志客戶端發(fā)送和接收到的信息都會儲存在文本文檔中。4 即時通信系統(tǒng)設計本系統(tǒng)中所涉及的主要實體及其屬性有:用戶(用戶賬號,用戶名,密碼,個性簽名,頭像ID,年齡,性別)。通知所有好友自己已經上線。如果不在線,存在服務器端,等它上線在發(fā)送。 信息的文本內容private Integer senderAccount。private ListUser friends。文件名稱privatebyte[] fileByte。//表明是登陸成功 Integer message_login_fail=2。//返回在線好友的包 Integer message_offline=6。JFrame+paint(in Graphics g)監(jiān)聽各種鼠標動作 MouseListenerScreenshot+mouseDragged(in MouseEvente)+mouseClicked(in MouseEvente)+mousePressed(in MouseEvente)+mouseReleased(in MouseEvente)+paint(in Graphics g)MouseMotionListener圖48Screenshot類截圖類的核心是JDK中:Robot類中createScreenCapture(RectanglescreenRect)方法截圖。如果是文件則顯示出請求發(fā)送時間,同意接收時間,接收完成時間,和文件大小。“登錄”模塊為用戶提供登錄界面,并在用戶登錄顯示好友列表;“聊天”模塊實現(xiàn)用戶的即時傳送信息,即多用戶即時聊天,可以發(fā)送文字或者截圖;“文件”模塊主要實現(xiàn)一用戶向另一用戶發(fā)送文件,對方可以選擇接受或者拒絕。 注冊模塊 流程圖開始填寫用戶信息存入數(shù)據庫顯示帳號結束圖51 用戶注冊流程圖,后臺是UserAction類,UserAction類中有方法:public String saveOrUpdate(){ (user)。 else (u)。 (2, ())。 (6, ())。 } }網頁上顯示用戶的account圖52用戶注冊信息 流程圖開始填寫用戶信息驗證用戶信息驗證用戶信息 成功 失敗發(fā)送登錄失敗信息接收離線信息結束圖53登錄流程圖 關鍵代碼1)客戶端代碼 登錄事件是定義在class IMClientLogin extends JFrame這個類的監(jiān)聽事件中。 User u=new User()。 Message m=new Message()。 } catch (IOException e1) { ()。登錄邏輯是在publicclass IMClientUserServer 里面,認證成功者就會新建一個線程,專門負責接收服務器端發(fā)來的信息class ClientConnToServerThread extends Thread 。// ()。 =fl。 (()+)。 (o)。 } catch (IOException e) { ()。2)服務端代碼服務器端接收用戶驗證信息的代碼被寫在了一個線程publicclassServerThread extends Thread中,這樣服務器就可以不停的監(jiān)聽端口,接收來自不同客戶端的請求,建立socket連接,也不會堵塞在主線程當中[20]。 }如果驗證成功,查找是否有他的離線消息,有就發(fā)送給他。 (myself)。 //查看是否有離線消息 LinkedListMessage list=(())。 (()+)。 } else { (3)。 } 聊天模塊開始打開聊天窗口輸入數(shù)據接收數(shù)據發(fā)送數(shù)據顯示數(shù)據結束圖54聊天流程圖 關鍵代碼1)客服端代碼發(fā)送文字信息:客戶端發(fā)送和顯示信息的代碼被封裝在了IMChat extends JFrame implements ActionListener類中,其中發(fā)送文字信息的代碼[18]。 //清空輸入 ()。 Document docs = ()。 } catch (BadLocationException e) { ()。 } catch (IOException e) { ()。 }
點擊復制文檔內容
外語相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1