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

正文內(nèi)容

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

2025-06-24 15:33本頁面
  

【正文】 e這個類的監(jiān)聽事件中。 } catch (SQLException e) { // TODO Autogenerated catch block ()。 (6, ())。 (4, 1)。 (2, ())。 try { ps=(SAVE)。 else (u)。 }saveOrUpdate則是用到了Userservice里面的方法:publicvoid saveOrUpdate(User u){ (()=+())。 注冊模塊 流程圖開始填寫用戶信息存入數(shù)據(jù)庫顯示帳號結束圖51 用戶注冊流程圖,后臺是UserAction類,UserAction類中有方法:public String saveOrUpdate(){ (user)?!坝脩艄芾怼蹦K即管理員對用戶進行增刪改查,和踢用戶下線的操作。“登錄”模塊為用戶提供登錄界面,并在用戶登錄顯示好友列表;“聊天”模塊實現(xiàn)用戶的即時傳送信息,即多用戶即時聊天,可以發(fā)送文字或者截圖;“文件”模塊主要實現(xiàn)一用戶向另一用戶發(fā)送文件,對方可以選擇接受或者拒絕。它負責轉(zhuǎn)發(fā)客戶端發(fā)來的消息。如果是文件則顯示出請求發(fā)送時間,同意接收時間,接收完成時間,和文件大小。:記錄日志的功能被封裝在MessageRecord類中,在發(fā)送或接受到數(shù)據(jù)后,將其寫入日志文件。screenRect)方法截圖。先用截取全部屏幕的圖片,然后顯示出來,覆蓋住整個屏幕。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(Rectangle//圖片包 Integer message_file=8。//返回在線好友的包 Integer message_offline=6。//普通信息包 Integer message_get_onLineFriend=4。//表明是登陸成功 Integer message_login_fail=2。//文件長度,以KB為單位文件的內(nèi)容privateint state。文件名稱privatebyte[] fileByte。圖片對象(不傳送)privatebyte[] imageByte。private ListUser friends。接收者accountprivate String time。 信息的文本內(nèi)容private Integer senderAccount。表42 Message屬性名作用private Integer msgType。如果不在線,存在服務器端,等它上線在發(fā)送。客戶機服務器填寫登錄信息登錄請求校驗身份創(chuàng)建拒絕登錄消息登錄請求(失?。?身份不符更新在線狀態(tài)返回在線好友創(chuàng)建登錄成功消息登錄請求(成功)向在線好友發(fā)布上線信息創(chuàng)建離線消息好友離線消息消除離線消息記錄圖46用戶登錄活動圖(2)發(fā)送消息活動圖短消息發(fā)送以后,服務器端對應的監(jiān)聽線程會接收到一個數(shù)據(jù)包。通知所有好友自己已經(jīng)上線。如果不正確,返回一個提示信息。4 即時通信系統(tǒng)設計本系統(tǒng)中所涉及的主要實體及其屬性有:用戶(用戶賬號,用戶名,密碼,個性簽名,頭像ID,年齡,性別)。(7)對用戶的操作 管理員通過B/S的系統(tǒng)對用戶進行增加,修改,刪除,查找等操作,對系統(tǒng)進行維護。(6)日志客戶端發(fā)送和接收到的信息都會儲存在文本文檔中。服務器端根據(jù)發(fā)送人信息和接收者信息來轉(zhuǎn)發(fā)。同樣,如果是未建立對話窗口,則自動打開顯示。服務器端根據(jù)發(fā)送人信息和接收者信息來轉(zhuǎn)發(fā)。B接收到A發(fā)來的信息,如果是未建立對話窗口,則自動打開顯示。例如服務器接收到一個A發(fā)給B的消息,先判斷B是否已經(jīng)在線,如果在線就將信息發(fā)送過去。然后客戶向服務器請求讀取好友名單,服務器收到該請求,從數(shù)據(jù)庫中取出好友列表,然后向客戶端發(fā)送這些信息,客戶收到后就在主窗口顯示好友??蛻羰盏椒掌鞣祷氐男畔⒑?,便打開窗口登錄。綜上所述,即時Java即時通訊系統(tǒng)是可行的。(3)操作可行性只要一臺以上計算機連接在同一個局域網(wǎng)內(nèi),本系統(tǒng)就可以安裝使用,所以操作上完全不存在問題。(2)經(jīng)濟可行性計算機網(wǎng)絡已經(jīng)普及,因此在網(wǎng)絡設備上不需要進行大的投入。本系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容:(1)技術可行性使用Swing 和socket技術,可以很輕松地開發(fā)出實用、簡便、高效的基于網(wǎng)絡的即時通訊系統(tǒng)。服務器端應當是一個信息發(fā)送中心,所有客戶端的信息都傳到服務器端,由服務器端根據(jù)要求分發(fā)信息。收發(fā)消息時,可以實現(xiàn)離線接收。它負責發(fā)現(xiàn)傳輸?shù)膯栴},一旦發(fā)現(xiàn)傳輸過程中有數(shù)據(jù)包丟失就會發(fā)出信號,自動要求將丟失的數(shù)據(jù)重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡?并且能夠調(diào)整接收到的數(shù)據(jù)包,恢復數(shù)據(jù)到原來分片之前的順序。通俗而言:IP協(xié)議是給因特網(wǎng)上的每一臺電腦提供一個IP地址,保證網(wǎng)絡是暢通的,但是不能保證發(fā)送的數(shù)據(jù)都能到達指定的目標IP,即不能保證數(shù)據(jù)傳輸?shù)目煽啃訹15]。應用層:提供各種應用服務,例如HTTP、SMTP、FTP等協(xié)議。這一層解決了計算機之間的通信問題,該層的協(xié)議統(tǒng)稱為IP協(xié)議。應用層應用進程應用進程應用進程應用進程UDPTCP傳輸層網(wǎng)絡層IGMPIPICMPARPRARP網(wǎng)絡接口層網(wǎng)絡接口圖21 TCP/IP協(xié)議體系結構網(wǎng)絡接口層:提供了 TCP/IP與各種物理網(wǎng)絡(局域網(wǎng)、廣域網(wǎng)等)的接口,并為網(wǎng)絡層提供服務。TCP/IP協(xié)議定義了電子設備如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉藴?。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更是方便、速度快、效果優(yōu)。以目前的技術看,局域網(wǎng)建立B/S結構的網(wǎng)絡應用,并通過Internet/Intranet模式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層3tier結構?!/S結構(Browser/Server結構)結構即瀏覽器和服務器結構?;贑/S的體系架構:C/S架構,即Client/Server(客戶機/服務器)結構,是傳統(tǒng)的軟件系統(tǒng)體系結構,通過將任務合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。所有一般用于傳送非關鍵性的數(shù)據(jù)。而客戶端只要能夠順序處理服務器程序的響應就可以了,因此客戶端程序通常不使用多線程。當服務器和客戶端建立連接后就可以進行通信了。首先創(chuàng)建一個服務器,這需要創(chuàng)建一個服務器套接字server socket,在創(chuàng)建服務器套接字之后,服務器使用下列語句監(jiān)聽連接:Socket socket = ServerSocket .accept()。Java對套接字通信的處理非常類似于對輸入輸出操作的處理,因此,程序?qū)μ捉幼肿x寫就像對文件中讀寫數(shù)據(jù)一樣容易。一旦建立連接,客戶端和服務器端就可以通過套接字進行通信。客戶端向服務器發(fā)送請求,服務器響應請求。流套接字(stream socket)使用傳輸控制協(xié)議(TCP)進行數(shù)據(jù)傳輸,而數(shù)據(jù)報套接字使用用戶數(shù)據(jù)報協(xié)議(UDP)[10]。由于這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng)。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,MySQL是最佳的選擇,而且由于MySQL是開放源代碼的軟件,因此,可以大大降低總體的擁有成本。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL是一個開放源碼的小型關聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。服務器資源以輕量級的線程提供,和多個客戶線程并發(fā)連接通信。Java支持內(nèi)置多線程編程。在進程切換時,涉及到當前進程CPU環(huán)境的保存及新被調(diào)度運行進程的CPU環(huán)境的設置,而線程的切換則僅需保存和設置少量寄存器內(nèi)容,不涉及存儲管理方面的操作[8]。多線程程序比多進程程序需要更少的系統(tǒng)開銷。線程是進程執(zhí)行過程中產(chǎn)生的多條執(zhí)行線索,是比進程更小的執(zhí)行單位,必須棲身于某一進程之中,有進程觸發(fā)執(zhí)行。一個進程中既包括所要執(zhí)行的指令,也包括執(zhí)行指令所需的任何系統(tǒng)資源,如CPU、內(nèi)存空間、I/O端口等,不同進程所占用的系統(tǒng)資源相對獨立。 多線程編程多任務處理有兩種截然不同的類型:基于進程的和基于線程的。本系統(tǒng)用到的Swing組件有面板(JPanel)、滾動窗口(JscrollPane)、選項板(JTabbedPane)、按鈕(JButton)、組合框(JComboBox)、標簽(JLabel)、表格(JTable)、文本域(JTextField)、文本區(qū)域(JTextArea)。Swing擁有4倍于AWT的用戶界面組件,他是在AWT包的基礎上的擴展。簡單而言,MyEcIipse是Eclipse的插件,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,完整支持 HTML,Stmts,JSF,CSS,Javascript,MySQL,Hibernate??蛻舳瞬捎肅/S結構,管理端采用B/S的結構,用Tomcat 作為服務器,MySQL作為數(shù)據(jù)庫,還使用到了WindowBuilder開源框架進行界面開發(fā)。另外,類庫中增加的新方法和其他實例不會影響到原有程序的運行。Java執(zhí)行代碼是在運行時動態(tài)載入的。在不同的機器上,只是調(diào)用多線程的代碼完全相同,Java把多線程的實現(xiàn)交給了底層的操作系統(tǒng)或線程庫來完成。(10)Java語言是多線程的。(9)Java是高性能的?;緮?shù)據(jù)類型的大小以及有關算法都做了明確的說明。(8) Java語言是可移植的。(7) Java語言是體系結構中立的。(6) Java語言是安全的。Java與C++最大的不同在于Java采用的指針模型可以消除重寫內(nèi)存和損壞數(shù)據(jù)的可能性。(5)Java語言是健壯的。Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。另外,Java的RMI(遠程方法激活)機制也是開發(fā)分布式應用的重要手段。(3) Java語言是分布式的。總之,Java語法好比C++語法的一個“純凈”版本。Java在設計的時候盡可能地接近C/C++,但是剔除了C++中很少使用的、難以理解的、易混淆的特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。另外Java全面支持動態(tài)綁定。Java是一個純粹面向?qū)ο蟮恼Z言,強調(diào)的面向?qū)ο蟮奶匦?具備繼承、封裝及多態(tài)性,對軟件工程技術能夠提供很強的支持[8]。Java是面向?qū)ο蟮?、簡單的、分布式的、解釋型的、健壯的、安全的、結構中立的、可移植的、高性能的、多線程的和動態(tài)的[7]。Java的內(nèi)容體系主要有:Java應用程序、Applet 小應用程序、JSP/Servlet、Java Bean、EJB、JavaME、JavaEE 等[6]。Java被廣泛接受并推動了 Web的迅速發(fā)展,同時Java技術也不斷更新。
2 主要技術介紹Java 是 James Gosling 領導的 Green 小組在 Sun Microsystems 公司開發(fā)的,1995年更名為Java ,并重新設計,用于開發(fā)Internet應用程序。最后是結語和致謝。第五章系統(tǒng)實現(xiàn)。第四章系統(tǒng)設計。首先從技術可行性、經(jīng)濟可行性和操作可行性方面討論了系統(tǒng)的可行性。介紹了數(shù)據(jù)庫操作的MySQL語言。介紹了本系統(tǒng)所涉及的JAVA編程技術。詳細的介紹了本系統(tǒng)所涉及到的即時通信的原理。系統(tǒng)的介紹了課題的選題背景,課題研究的意義,所釆用的研究方法以及本論文的結構。考慮到要可以在局域網(wǎng)中應用,本系統(tǒng)使用的是第二種方法,經(jīng)過設置,在局域網(wǎng)或internet上都可以使用。模塊化的好處是便于開發(fā),便于調(diào)試,便于系統(tǒng)的后期維護,并為后續(xù)的開發(fā)預留接口,使得系統(tǒng)具有良好的可擴充性。系統(tǒng)釆用模塊化設計,釆用自頂向下的開發(fā)模式。其中,網(wǎng)絡通信部分采用流行的TCP/IP協(xié)議,程序采用典型的C/S(客戶端/服務器)模式,這是傳統(tǒng)的軟件系統(tǒng)體系結構,能夠?qū)⑷蝿蘸侠淼姆峙涞腃lient端(即客戶端)和Server端(即服務器端),可以大大的降低系統(tǒng)的通訊開銷,可以充分的利用C/S兩端的硬件環(huán)境的優(yōu)勢。然后經(jīng)過需求分析確定了系統(tǒng)最終要實現(xiàn)的功能,確定了本系統(tǒng)所使用的后臺數(shù)據(jù)庫系統(tǒng)為MySQL,并對系統(tǒng)中的數(shù)據(jù)庫進行了設計。本文的設計目標是一個實用的面向企業(yè)的局域網(wǎng)即時通
點擊復制文檔內(nèi)容
外語相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1