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

正文內容

基于cs架構的java網(wǎng)絡聊天系統(tǒng)畢業(yè)論文(編輯修改稿)

2024-07-15 15:49 本頁面
 

【文章內容簡介】 雙方確認身份,建立一條專用的虛擬連接通道。數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進行通信。關閉:通信結束時,再將所建的虛擬連接拆除。具體如下:服務器 圖 21 socket通信 系統(tǒng)基本功能描述客戶端可以實現(xiàn)注冊,即時聊天、在線好友查看、好友上、下線彈出窗口通知、服務器后臺系統(tǒng)信息發(fā)布,相互之間收發(fā)文件等等。還有,收發(fā)消息時,可以實現(xiàn)離線接收。服務器端應當建立一個ServerSocket,并且不斷進行偵聽是否有客戶端連接或者斷開連接(包括判斷沒有響應的連接超時)。服務器端應當是一個信息發(fā)送中心,所有客戶端的信息都傳到服務器端,由服務器端根據(jù)要求分發(fā)信息。 可行性分析本系統(tǒng)的可行性分析包括以下幾個方面的內容:(1) 技術可行性使用Swing 和socket技術,可以很輕松地開發(fā)出實用、簡便、高效的基于網(wǎng)絡的即時通訊系統(tǒng)。因此技術上是可以實現(xiàn)的。(2) 經(jīng)濟可行性計算機網(wǎng)絡已經(jīng)普及,因此在網(wǎng)絡設備上不需要進行大的投入。本系統(tǒng)需要Java JRE環(huán)境,由于并發(fā)使用人數(shù)比較少,所以成本很低。(3) 操作可行性只要一臺以上計算機連接在同一個局域網(wǎng)內,本系統(tǒng)就可以安裝使用,所以操作上完全不存在問題。如果要實現(xiàn)internet上通訊,只需要將服務器端運行在一個有固定IP的公網(wǎng)上就可以。綜上所述,即時Java即時通訊系統(tǒng)是可行的。 系統(tǒng)需求分析本系統(tǒng)要實現(xiàn)的功能如下:1)注冊服務器收到用戶的注冊請求,便開始接受客戶傳遞的信息,諸如客戶的呢稱,性別,籍貫,個人資料等,接受完畢后,便通過JDBC與后臺數(shù)據(jù)庫連接,然后向數(shù)據(jù)庫添加記錄,如果成功,便向客戶返回其號碼??蛻羰盏椒掌鞣祷氐男畔⒑?,便打開窗口登陸。2)登陸在客戶端,用戶輸入其號碼和密碼,然后建立與服務器的連接,告訴服務器我要登錄,服務器收到后,開始通過JDBC讀取數(shù)據(jù)庫,然后與用戶輸入的信息進行比對,如果成功,便打開主程序窗口。然后客戶向服務器請求讀取好友名單,服務器收到該請求,從數(shù)據(jù)庫中取出好友列表,然后向客戶端發(fā)送這些信息,客戶收到后就在主窗口顯示好友。3)聊天客戶端首先發(fā)送消息到服務器端,服務器端根據(jù)發(fā)送人信息和接收者信息來轉發(fā)。例如服務器接收到一個A發(fā)給B的消息,先判斷B是否已經(jīng)在線,如果在線就將信息發(fā)送過去。如果B不在線則把信息儲存在服務器,等B上線了在發(fā)送給他。B接收到A發(fā)來的信息,如果是未建立對話窗口,則自動打開顯示。4)發(fā)送截圖客戶端A點擊截圖按鈕,將屏幕鎖定,截取圖片,將圖片儲存在byte[]數(shù)組中發(fā)送到服務器端。服務器端根據(jù)發(fā)送人信息和接收者信息來轉發(fā)。B接收到A發(fā)來的截圖信息,會根據(jù)byte[]構造圖片,將圖片顯示出來。同樣,如果是未建立對話窗口,則自動打開顯示。5)發(fā)送文件客戶端A點擊發(fā)送文件按鍵,從本地選擇文件,將文件在byte[]數(shù)組中分批次發(fā)送到服務器端。服務器端根據(jù)發(fā)送人信息和接收者信息來轉發(fā)。B接收到A發(fā)來的文件信息,會根據(jù)文件發(fā)送的狀態(tài)和byte[]構造文件。6)日志客戶端發(fā)送和接收到的信息都會儲存在文本文檔中。默認儲存在C盤下面,會以用戶的登錄賬號為名。7)對用戶的操作 管理員通過B/S的系統(tǒng)對用戶進行增加,修改,刪除,查找等操作,對系統(tǒng)進行維護。8)在線用戶的操作 管理員通過B/S的系統(tǒng)對在線用戶操作,可以踢用戶下線。 數(shù)據(jù)庫設計本系統(tǒng)中所涉及的主要實體及其屬性有:用戶(用戶賬號,用戶名,密碼,個性簽名,頭像ID,年齡,性別) ER模型如圖所示。圖 41系統(tǒng)實體及其屬性表41 User字段名數(shù)據(jù)類型字段說明鍵引用備注accountint(6)IDPK主鍵(自動增一)namevarchar(20)用戶名稱非空passwordvarchar(20)用戶密碼非空signatureVarchar(255)簽名profileIDint(2)頭像IDageint(3)年齡sexsex char(2)性別 系統(tǒng)模塊設計 聊天系統(tǒng)工作原理圖 圖 42 系統(tǒng)工作原理 系統(tǒng)功能模塊圖:圖 43 系統(tǒng)模塊 系統(tǒng)用例圖:普通用戶的用例圖:圖 44 普通用戶用例圖 活動圖:1)用戶登陸活動圖首先填寫登陸信息,提交以后服務器會對用戶名和密碼進行驗證。如果不正確,返回一個提示信息。如果登陸成功,就更新在線狀態(tài)。通知所有好友自己已經(jīng)上線。服務器再檢查是否有他的離線消息,如果有這立即發(fā)送給用戶。圖 46 用戶登錄活動圖2)發(fā)送消息活動圖短消息發(fā)送以后,服務器端對應的監(jiān)聽線程會接收到一個數(shù)據(jù)包。此包中包含接收者的信息,如果接收者在線,數(shù)據(jù)包將會轉發(fā)到接收者。如果不在線,存在服務器端,等它上線在發(fā)送。圖 47發(fā)送消息活動圖 系統(tǒng)類設計 服務端線程的設計:服務器端的核心是對應客戶的線程,每個socket對應一個線程,也就是每一個客戶端都在服務器端有一個相應的線程。它負責轉發(fā)客戶端發(fā)來的消息。線程類為ClientThread:表43 ClientThread類屬性名作用public void notifyOnline()通知其他線程,自己上線了,讓客戶方更新頭像public void run() 線程的主題,轉發(fā)消息public void notifyOffline(){通知其他線程,自己下線了,讓客戶方更新頭像public void send(Object o) 發(fā)送消息public Object receive() 接收消息 客戶端線程類設計屬性名作用public int login (String username,String password)傳入帳號密碼給服務器端驗證public void run() 線程的主題,讀取服務器端發(fā)來的資料并顯示相關內容public void sendMsg2Server(byte[]data)向服務器端發(fā)送信息public void sendCheckMsg2Server()向服務器發(fā)送確認信息,確保鏈路通暢public void MonitorThrea
點擊復制文檔內容
化學相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1