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

正文內(nèi)容

畢業(yè)設(shè)計-基于java的即時消息系統(tǒng)設(shè)計與實現(xiàn)(文件)

2024-12-27 19:29 上一頁面

下一頁面
 

【正文】 Packet)。 接收數(shù)據(jù)報文包的部分代碼如下: receivePacket=new DatagramPacket(array,)。 received=new String(data,0,)。 返回一個發(fā)送或接收此數(shù)據(jù)報報文的機器的 IP 地址; ? Public int getPort(): 返回發(fā)送或接收數(shù)據(jù)報的遠(yuǎn)程主 機的端口號。在好友的程序界面上,用戶的頭像由彩色變成黑白。服務(wù)器所在的計算機上安裝此工具。 配置 ODBC 的步驟如下所示: ? 打開操作系統(tǒng)的控制面板(相對 Windows XP而言 ) ? 打開管理工具- 數(shù)據(jù)源 (ODBC) ? 在系統(tǒng) DSN 那里,新建一個名字為“ javaicq”的系統(tǒng)數(shù)據(jù)源,驅(qū)動程序為 SQL Server 如圖 : 圖 配置 ODBC 開發(fā)環(huán)境 構(gòu)建 Java SE 平臺 本系統(tǒng)是使用 JAVA 語言進(jìn)行開發(fā)的,系統(tǒng)的開發(fā)和 運行都需要J ava 虛擬機的支持。 安裝開發(fā)工具 eclipse 構(gòu)建好 Java SE 平臺后,需要選擇 java 的開發(fā)工具。安裝了這些插件,我們就可以很輕松地設(shè)計出美觀的程序運行界面。 登錄信息如下: Sun May 31 20:22:03 CST 2021ServerSocket[addr=,port=0,localport=8000]建立連接:Socket[addr=/,port=2923,localport=8000 其含義為:系統(tǒng)時間 +服務(wù)器端口信息 +“建立連接” +客戶端登錄信息 發(fā)送系統(tǒng)消息 在服務(wù)器管理界面的小文本框輸入要發(fā)送的消息后,點擊“發(fā)送系統(tǒng)信息”按鈕,服務(wù)器會向數(shù)據(jù)庫進(jìn)行操作,查找所有在線的用戶,讀取用戶的 IP 地址,制作數(shù)據(jù)報文包,并可 向所有的在線用戶發(fā)送系統(tǒng)消息。 程序主界面 用戶登錄成功后,可看到程序的主界面如圖 所示(登錄兩個用戶):在界面的中間為好友列表框,顯示當(dāng)前用戶所有的好友,并顯示在線狀態(tài)。該用戶收到該消息后,可以選擇也添加此人為好友,也可以選擇不添加。當(dāng)用戶希望重新接收消息的時候,可點擊“上線”按鈕,向服務(wù)器和所有的在線好友的客戶端發(fā)送上線通知,使其的頭像顯示為彩色。課題研究了三層 C/S 模型和,有效減輕服務(wù)器負(fù)擔(dān),提高了網(wǎng)絡(luò)利用率。 本系統(tǒng)具有以下特點: ? 采用 C/S 通信模型設(shè)計,有效減輕了服務(wù)器的負(fù)擔(dān),便于后臺的管理。使用線程可以把占據(jù)長時間的程序中的任務(wù)放到 后臺 去處理。還沒實現(xiàn)修改用戶資料的功能等。 Robert Wiener 著 ,侯捷譯 .Win32 多線程程序設(shè)計 .武漢:華中科技大學(xué)出版社, 2021. [9] 求是科技. SQL Server 2021 數(shù)據(jù)庫開發(fā)技術(shù)與工程實踐.北京:人民郵電出版社, 2021. 。在以后的研究中,我還會研究安全通信協(xié)議,保障通信的安全,提高系統(tǒng)的實用性等 本課題需要繼續(xù)完善的功能有: ? 加入文件傳輸功能,豐富用戶的信息交流方式; ? 深入學(xué)習(xí) java 可視化編程,完善操作界面,使其更加適合用戶的操作習(xí)慣; ? 設(shè)計安全通信機制,保障通信的安全; ? 設(shè)計測試用例,全面、系統(tǒng)地測試該系統(tǒng)所存在的一些缺陷; ? 擴(kuò)展即時消息系統(tǒng)的服務(wù)范圍,增強系統(tǒng)工作的穩(wěn)定性和健壯性。本系統(tǒng)實現(xiàn)了一個友好的操作界面, 簡單,易用,適合用戶的操作習(xí)慣。 ? 采用了 Java 語言,因為用 Java 設(shè)計的系統(tǒng)是跨平臺的,在任何操作系統(tǒng)上,只要安裝了 Java虛擬機,就可以運行本系統(tǒng),不用受平臺的限制。該即時消息系統(tǒng)按照面向?qū)ο蠓椒ㄔO(shè)計,并在 J2SE 平臺上,使用 java 語言進(jìn)行開發(fā),并且采用了多線程技術(shù)和網(wǎng)絡(luò)編程技術(shù)。 圖 發(fā)送消息 接收消息 當(dāng)用戶接收到好友發(fā)送的消息時,會收到消息提示,如圖 所示。此時用戶的程序向服務(wù)器端和所有在線的用戶發(fā)送“隱身”聲明。主界面上還有“查找”、“更新”、“直接加友”、“陌生人”、“上線”和“隱身”按鈕,用戶可通過點擊按鈕進(jìn)入相應(yīng)的功能。通過注冊功能可實現(xiàn),其運行界面如圖 所示: 圖 注冊界面 為了保障系統(tǒng)的安全性和數(shù)據(jù)庫完整性約束,我們對用戶輸入的消息進(jìn)行了完整性檢查,如用戶名和密碼的 字符數(shù)不能多于 20 個字符,個性說明的字符數(shù)不能多于 100 個。啟動后對界面的大文本區(qū)域顯示了: Sun May 31 20:16:51 CST 2021 啟動服務(wù)器 ... ServerSocket[addr=,port=0,localport=8000] 其含義為:系統(tǒng)時間 +啟動服務(wù)器 ...+連接端口信息 圖 服務(wù)器界面 查看系統(tǒng)的記錄 點擊“查看系統(tǒng)記錄”時,在服務(wù)器管理界面的大文本區(qū)域,可查看客戶端的登錄情況。本系統(tǒng)使用的是:Eclipse 是一種可擴(kuò)展的開放源代碼 IDE,具有框架靈活、擴(kuò)展容易等特別。 下載并安裝 JDK 和 Java 的運行環(huán)境,我們還需要設(shè)置一些系統(tǒng)變量: ? P ath:該變量的含義是系統(tǒng)在任何路徑下都可以識別 Java 命令需要設(shè)置的變量。 建立數(shù)據(jù)表的定義如圖 和圖 所示: 圖 個人信息 圖 好友消息 配置 ODBC 數(shù)據(jù)源 由于在此系統(tǒng)中,采用的是通過 ODBC 的方式來連接數(shù)據(jù)庫的,所有在使用數(shù)據(jù)庫之前,我們必須在W indows 的操作系統(tǒng)下,配置好 ODBC,建立數(shù)據(jù)源。當(dāng)用戶想點擊程序界面的“上線”按鈕時,既可通知所有的好友此用戶上線了。 接收不? 保存聊天記錄 結(jié)束 是 否 圖 接收消息 ( 2)上線和隱身 當(dāng)用戶想處于非聊天狀態(tài)的時候,可以切換至隱身狀態(tài)。 */ 監(jiān)聽好友消息的流程如圖 所示: 接收數(shù)據(jù)報信息 addnewfriend system oneaddyou offline oneline 好友上線 好友下線 添加好友應(yīng)答 添加好友應(yīng)答 接收系統(tǒng)消息 Yes No Yes Yes Yes Yes No No No 查找對應(yīng)好友及其登記 IP IP 存在 接收好友消息 接收陌生人消息 else 圖 監(jiān)聽好友消息 ( 1)當(dāng)接收好友消息時,主程序彈出一個對話框,由用戶自行選擇接收信息與否,用戶可根據(jù)消息提示,打開相應(yīng)好友的接收消息對話框來接收消息。 byte[] data=()。 sendPort 為數(shù)據(jù)報文包接收者的接收端口。 在發(fā)送的過程中利用構(gòu)造函數(shù) DatagramPacket( byte bufferedarray[],int length,IAddressaddress,int port)構(gòu)造一個包長度為 length 的包,它是將數(shù)據(jù)傳送到指定端口號上的數(shù)據(jù)包,參數(shù) length 必須小于等于 DatagramPacket對象中有 send方法實現(xiàn)的,它需要以 DatagramPacket 對象為參數(shù),將剛才封裝進(jìn) DatagramPacket對象中的數(shù)據(jù)組成數(shù)據(jù)報發(fā)出。 發(fā)送消息 用戶通過好友列表中好友的 IP地址,利用 UDP 協(xié)議與其他用戶進(jìn)行信息交流。 int udpPORT=5001。數(shù)據(jù)報的通信雙方不需要建立連接,對于像聊天通信這些不需要很高質(zhì)量的應(yīng)用程序來說,數(shù)據(jù)報通信是一個非常好的選擇。若刪除成功,則向客戶端返回成功消息,通知用戶。輸入緩沖區(qū) int myid。 5.好友管理 ( 1)查找好友 好友查找可利用 FindFriend2 類完成, FindFriend2 類繼承自 JFrame 類。 ( 2)客戶端程序流程: ? 程序初始化; ? 填寫服務(wù)器地址消息; ? 連接服務(wù)器; ? 與服務(wù)器通信和信息處理; ? 通信結(jié)束后斷開連接。 服務(wù)器連接是在 ConnectServer()函數(shù)中實現(xiàn)的。注冊通信過程如圖 所示: Socket 接收完畢 發(fā)送:“ new” 發(fā)送完畢 接收:注冊信息 接收:“ new” 監(jiān)聽用戶請求 發(fā)送:注冊信息 ServeSocket 接收:賬號 輸出:賬號 打開登錄界面 結(jié)束 數(shù)據(jù)庫 操作 客戶端正 服務(wù)器端 圖 注冊流程 用戶在客戶端程序中輸入用戶號碼與密碼,與服務(wù)器建立連接,向服務(wù)器發(fā)送登錄請求。 當(dāng)服務(wù)器收到用戶的注冊請求后,開始接收客戶傳遞的消息,諸如客戶的昵稱、性別、籍貫、頭像和個人資料等信息。服務(wù)器與客戶都通過構(gòu)造BufferedReader、 PrintWriter 來建立輸入 /輸出流,雙方通過該輸入 /輸出流來相互傳遞信息。 接收好友處理請求 addnewfriend delfriend Addfriend friend find 查找好友 讀取好友資料 添加好友 添加好友應(yīng)答 刪除好友 Yes No Yes Yes Yes Yes No No No 返回 圖 處理好友請求 用戶在線時,數(shù)據(jù)庫表的 IP 地址字段為此時用戶計算機的真實 IP 地址;狀態(tài)字段為 1。若添加成功,則向用戶傳遞好友的基本信息,比如昵稱。 (3)添加好友 服務(wù)器響應(yīng)客戶端用戶的請求后,首先連接數(shù)據(jù)庫,并根據(jù)接收的用戶號碼及好友號碼向好友表添加記錄??蛻舳私邮盏讲樵兘Y(jié)果后,利用相應(yīng)的函數(shù)將其顯示出來。服務(wù)器為新建的用戶指定唯一的注冊號碼,將以即時消息的方法發(fā)送給用戶。 用戶新建過程也在線程監(jiān)聽函數(shù) run()中。 類的設(shè)計 客戶端發(fā)送連接請求的時候,服務(wù)器端創(chuàng)建一個 ServerThread(socket)線程。一時連接成功,就可以按設(shè)計的 數(shù)據(jù)交換方法和格式進(jìn)行數(shù)據(jù)傳輸。在程序的代碼里面,客戶端的多線程定義為: class MainWin extends JFrame implements Runnable{//略 }; 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫表主要用來存放用戶的注冊信息和用戶的好友資料,可利用兩張數(shù)據(jù)表用來存放用戶信息和用戶好友資料。線程調(diào)度速度快,占用資源少,可共享進(jìn)程空間中的數(shù)據(jù),因此服務(wù)器的響應(yīng)速度較快,且 I/O 吞吐量較大。一旦服務(wù)器發(fā)現(xiàn)一個新的客戶端與之建立了連接,就馬上新建一個線程與客戶端進(jìn)行通信。 ? 聊天功能:客戶端在與好友端建立通信連接后,便可以與好友進(jìn)行聊天,聊天時發(fā)送的是文本信息,好友端在接收到聊天消息后,會提示收到消息,并由好友端自主打開消息接收界面。如果驗證通過,則打開程序的主界面。 ? 發(fā)送系統(tǒng)消息:在客戶端管理界面上,可以輸入消息,并發(fā)送給所有的在線用戶。 ? 監(jiān)聽客戶請求:服務(wù)器端是一個信息的樞紐,所有客戶端的信息都要傳到服務(wù)器端,再由服務(wù)器根據(jù)要求分發(fā)出去,客戶端在向服務(wù)器發(fā)送各種請求,如:上線、隱身、獲取我的好友、查找好友等等。因此,從功能層傳送到數(shù)據(jù)層的“要求”一般都使用 SQL 語言。而用戶登錄后,聊天登錄信息是由功能層處理過的檢索結(jié)果數(shù)據(jù),它也是一次性傳送給表示層的。若聊天用戶變更,系統(tǒng)只需要改寫顯示控制和數(shù)據(jù)檢查程序即可,而不影響其
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1