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

正文內(nèi)容

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

2025-02-27 08:30 本頁(yè)面
 

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