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

正文內(nèi)容

java-基于java的網(wǎng)絡(luò)安全聊天工具網(wǎng)絡(luò)功能部分(編輯修改稿)

2025-02-27 08:30 本頁面
 

【文章內(nèi)容簡介】 的一個典型運作過程: 服務(wù)器監(jiān)聽相應端口的輸入; 客戶機發(fā)出一個請求; 基于 java 的網(wǎng)絡(luò)安全聊天工具:網(wǎng)絡(luò)功能部分 8 服務(wù)器接收到此請求; 服務(wù)器處理這個請求,并把結(jié)果返回給客戶 機; 重復上述過程,直至完成一次會話過程。 按照以上過程,我們使用 Java 語言編寫一個分別針對服務(wù)器和客戶機的應用程序( Application)。該程序在服務(wù)器上時,程序負責監(jiān)聽客戶機請求,為每個客戶機請求建立Socket 連接,從而為客戶機提供服務(wù)。本程序提供的服務(wù)為:讀取來自客戶機的一行文本,反轉(zhuǎn)該文本,并把它發(fā)回給客戶機。 通過該程序?qū)嵗覀兛吹?,使?Java 語言設(shè)計 C/S 程序時需要注意以下幾點: ( 1)、 服務(wù)器應使用 ServerSocket 類來處理客戶機的連接請求。當客 戶機連接到服務(wù)器所監(jiān)聽的端口時, ServerSocket 將分配一新的 Socket 對象。這個新的 Socket 對象將連接到一些新端口,負責處理與之相對應客戶機的通信。然后,服務(wù)器繼續(xù)監(jiān)聽 ServerSocket,處理新的客戶機連接。 Socket 和 ServerSocket 是 Java 網(wǎng)絡(luò)類庫提供的兩個類。 ( 2)、服務(wù)器使用了多線程機制。 Server 對象本身就是一個線程,它的 run()方法是一個無限循環(huán),用以監(jiān)聽來自客戶機的連接。每當有一個新的客戶機連接時, ServerSocket 就會創(chuàng)建一個新的 Socket 類實例,同時服務(wù)器也將創(chuàng)建一新線程,即一個 Connection 對象,以處理基于 Socket 的通信。與客戶機的所有通信均由這個 Connection 對象處理。Connection 的構(gòu)造函數(shù)將初始化基于 Socket 對象的通信流,并啟動線程的運行。與客戶機 的通信以及服務(wù)的提供,均由 Connection 對象處理。 ( 3)、客戶機首先創(chuàng)建一個 Socket 對象,用以與服務(wù)器通信。之后需創(chuàng)建兩個對象:DataInputStream 和 DataOutputStream,前者用以從 Socket 的 InputStream 輸入流中讀取數(shù)據(jù),后者則用于往 Socket 的 OutputStream 中寫數(shù)據(jù)。最后,客戶機程序從標準輸入(如:控制臺)中讀取數(shù)據(jù),并把這些數(shù)據(jù)寫到服務(wù)器,在從服務(wù)器讀取應答消息,然后把這些應答消息寫到準輸出。 基于 java 的網(wǎng)絡(luò)安全聊天工具:網(wǎng)絡(luò)功能部分 9 第二章 java 網(wǎng)絡(luò)安全聊天系統(tǒng)設(shè)計 根據(jù)當前網(wǎng)絡(luò)的需求,網(wǎng)絡(luò)聊天越來越受各種網(wǎng)民所青睞。越來越多的人使用 ,同時也越來越多的人對于 聊天的安全性擔憂,各種各樣的 病毒, 木馬,以及未加密的明文傳送,讓我們的網(wǎng)絡(luò)聊天環(huán)境越來 越不安全。因此我決定以 基于 java 的網(wǎng)絡(luò)安全聊天工具 作為檢驗我 4 年學習的課題。 聊天系統(tǒng)的設(shè)計步驟及功能模塊劃分 聊天系統(tǒng)工作原理圖 (圖 服務(wù)器和客戶端之間關(guān)系 ) 2 .3 聊天系統(tǒng)各功能模塊 ( 1)服務(wù)器程序模塊 服務(wù)器與客戶間通過套接口 Socket(TCP)連接。在 java 中使用套接口相當簡單, Java API為處理套接口的通信提供了一個類 ,使得編寫網(wǎng)絡(luò)應用程序相對容易。服務(wù)器采用多線程以滿足多用戶的請求,并通過創(chuàng)建一個 ServerSocket 對象來監(jiān)聽來自客戶的連接請求,默認端口為 6868,然后無限循環(huán)調(diào)用 accept()方法接受客戶程序的連接。 ( 2)客戶程序模塊 客戶通過 Socket(IAddress,port)建立與服務(wù)器的連接。服務(wù)器與客戶都通過構(gòu)造 基于 java 的網(wǎng)絡(luò)安全聊天工具:網(wǎng)絡(luò)功能部分 10 ObjectInputStream,ObjectOutputStream 來建立輸入輸出流,然后雙方通過該輸入輸出流來相互傳遞信息,一旦收到客戶方的連接請求,服務(wù)器 accept()方法返回一個新建的 Socket對象。客戶端然后向服務(wù)器發(fā)送消息,比如文件傳輸?shù)龋?wù)器收 到來自客戶的請求后,針對不同的消息處理請求。 需求分析 聊天系統(tǒng)不外乎兩個方面,服務(wù)器端和客戶端。簡單分析一下兩個方面所要完成的任務(wù),對設(shè)計這個程序來說,等于完成了一半。首先來看一下服務(wù)器端的任務(wù): 1.服務(wù)器端應當建立一個 ServerSocket,并且不斷進行偵聽是否有客戶端連接或者斷開連接 (包括判斷沒有響應的連接超時 )。 2.服務(wù)器端應當是一個信息發(fā)送中心,所有客戶端的信息都傳到服務(wù)器端,由服務(wù)器端根據(jù)要求分發(fā)信息。 3. 服務(wù)器應當建立一個用戶賬號的數(shù)據(jù)庫,用于管 理用戶資料。 4. 服務(wù)器應當能存有所有用戶的公鑰,以及所有加密過后的聊天記錄,當用戶需要時便于驗證信息內(nèi)容。 (圖 服務(wù)器的主要功能圖 ) 如上圖就是服務(wù)器端最主要的幾個任務(wù)。不難看出,服務(wù)器端的任務(wù)并不復雜。 客戶端應該完成的工作包括: 1.與服務(wù)器端建立通信通道,向服務(wù)器端發(fā)送信息。(包過用戶資料注冊、用戶登錄、群聊、用戶間私聊等各種消息) 2.接收來自服務(wù)器的信息。根據(jù)消息的內(nèi)容進行操作,如抬出各種對話框、確認信息等。 基于 java 的網(wǎng)絡(luò)安全聊天工具:網(wǎng)絡(luò)功能部分 11 (圖 客戶端的主要功能圖 ) 相對服務(wù)器而言,客戶端的任務(wù)更加簡單,有了以上的簡單分析,可以知道,解決上述幾個個問題,即完成了該聊天系統(tǒng)的核心。 聊天系統(tǒng)的總體設(shè)計要點 聊天系統(tǒng)的設(shè)計跟普通軟件設(shè)計有著許多不同的地方,普通軟件設(shè)計所考慮的因素,例如,普通軟件需要對布局進入大量美化以及優(yōu)化設(shè)計等等,而聊天工具只要提供滿足用戶直接實時聊天即可。因此,在設(shè)計聊天系統(tǒng)的過程中,必須要考慮好以下幾個設(shè)計要點: 實現(xiàn)思想 在 Inter 上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應,使用者通過客戶端程序登錄到服 務(wù)器,就可以與登錄在同一服務(wù)器上的用戶交談,這是一個面向連接的通信過程。因此,程序要在 TCP/IP 環(huán)境下,實現(xiàn)服務(wù)器端和客戶端兩部分程序。 服務(wù)器端工作流程 基于 java 的網(wǎng)絡(luò)安全聊天工具:網(wǎng)絡(luò)功能部分 12 (圖 服務(wù)器主要運行流程圖 ) (圖 服務(wù)器的界面功能圖 ) 1. 服務(wù)器先創(chuàng)建一個 client 數(shù)組,用來存放 id、連接用戶的名字、地址等,每個用戶對應一個 client 線程。同時連接用戶數(shù)據(jù)庫。 2. 對服務(wù)器本地端口(程序里默認是 6868)進行監(jiān)聽,當收到客戶連接請求后,接收用戶發(fā)來的信息,這里將消息進行分段后進行 2 種不同操作。第一 種是注冊請求,繼續(xù)接受用戶名、密碼等信息,然后查詢數(shù)據(jù)庫,判斷是否已經(jīng)注冊,未注冊則插入用戶信息,返回成功信息給客戶端。已注冊則返回失敗消息。執(zhí)行完后回到流程 1。第二種是登錄請 基于 java 的網(wǎng)絡(luò)安全聊天工具:網(wǎng)絡(luò)功能部分 13 求,繼續(xù)接受客戶端發(fā)來的用戶名和密碼,查詢數(shù)據(jù)庫看是否有相同記錄,沒有則返回一個失敗信息給客戶端,然后回到流程 1。若是用戶名和密碼都正確,則返回成功信息給客戶端。 3. 服務(wù)器將客戶的 ID、用戶名、地址存到一個空的 client,然后啟動該用戶的數(shù)據(jù)接受發(fā)送線程。然后返回流程 1。 4. Client 線程啟動后一直循環(huán)接受信息,直到收到該客戶端發(fā)來消 息。根據(jù)消息的標識符判斷是群發(fā)還是一對一單聊,群發(fā)則所有的 client 線程將消息發(fā)回客戶端。如果是一對一單聊,則查找 client 數(shù)組的用戶名,找到相應的客戶,使用該用戶的對應線程發(fā)回該信息。 如上服務(wù)器還有一些其他操作,如,更新在線用戶列表、發(fā)送在線用戶列表給客戶端,查看數(shù)據(jù)庫資料,對數(shù)據(jù)庫資料進行插入、修改、刪除等、還有聊天記錄的保存打開等。(為了安全起見,這里的聊天記錄都是用戶用自己私鑰加密過的,服務(wù)器沒法解密,但是可以為用戶發(fā)生爭端或者需要時提供記錄,讓用戶自己解密驗證) 客戶端工作流程 客戶端 程序相對與服務(wù)器來說要簡單一些: (圖 客戶端主要界面功能圖 ) 基于 java 的網(wǎng)絡(luò)安全聊天工具:網(wǎng)絡(luò)功能部分 14 (圖 客戶端接受消息線程主要功能圖 ) 1. 顯示登錄界面,這里可以選擇注冊用戶,用戶登錄,修改服務(wù)器 ip 以及端口等(默認是本機 ip,端口是 6868)。選擇注冊進入流程 2,選擇登錄進入流程 3 2. 顯示注冊界面,這里要輸入用戶名,密碼, 等,對用戶名的要求有不為空以及不含畢設(shè)字樣即可。 2次 密碼需要一致。點擊發(fā)送將信息發(fā)給服務(wù)器,接受服務(wù)器返回信息,成功失敗均有相應的對話框彈出。 3. 發(fā)送登錄用戶名和密碼,接受服務(wù)器發(fā)回信息,成功進入流
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1