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

正文內(nèi)容

本科生畢業(yè)論文_精選_20_基于java的即時(shí)通訊系統(tǒng)(編輯修改稿)

2025-01-08 21:00 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 好地進(jìn)行溝通和協(xié)作,以提高其學(xué)習(xí)效率和,辦事效率和活動(dòng)組織效率,節(jié)省時(shí)間資源,本系統(tǒng)應(yīng)該提供一下幾個(gè)功能 : 用戶(hù) 注冊(cè) , 通過(guò)填寫(xiě)個(gè)人信息,注冊(cè)本系統(tǒng),讓朋友,同學(xué)更容易去發(fā)現(xiàn)你,了解你,找到你 。 為了讓溝通變得更加簡(jiǎn)單、快捷、明了 ,系統(tǒng)支持即時(shí) 文字 消息的收發(fā)。 建立群組討論 ,讓更多的人參與學(xué)習(xí)或其他重要事情的討論對(duì)話中去,加強(qiáng)協(xié)作能力。 添加和 搜索好友 文件 實(shí)時(shí) 傳輸 系統(tǒng)架構(gòu)選擇 在應(yīng)用開(kāi)發(fā)領(lǐng)域中,目前系統(tǒng)平臺(tái)的體系結(jié)構(gòu)主要有兩種,即 C/S( Client/Server)結(jié)構(gòu)和 B/S( Brower/Server)結(jié)構(gòu)。 C/S 結(jié)構(gòu),即大家熟知的客戶(hù)機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 Client端和 Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。 本系統(tǒng)采用的是 C/S 結(jié)構(gòu) ,因 為其具有以下優(yōu)點(diǎn) 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 6 - 響應(yīng)速度快 C/S 結(jié)構(gòu)是客戶(hù)端與數(shù)據(jù)庫(kù)直接相連,沒(méi)有中間環(huán)節(jié),因此響應(yīng)速度快。 軟件設(shè)計(jì)個(gè)性化,可以滿(mǎn)足用戶(hù)個(gè)性化的需求 因?yàn)? C/S 結(jié)構(gòu)有著自己的客戶(hù)端,在客戶(hù)端的設(shè)計(jì)上,可以根據(jù)客戶(hù)的需求進(jìn)行個(gè)性化的設(shè)計(jì),可以滿(mǎn)足客戶(hù)復(fù)雜的個(gè)性化需求。特別是在操作界面方面。 事務(wù)處理能力強(qiáng)大 C/S 結(jié)構(gòu)充分利用客戶(hù)端的硬件設(shè)施,將很多的數(shù)據(jù)處理工作在客戶(hù)端完成,故數(shù)據(jù)處理能力比較強(qiáng)大,對(duì)一些復(fù)雜的業(yè)務(wù)流程,也容易實(shí)現(xiàn)。 圖 21 系統(tǒng)結(jié)構(gòu) 系統(tǒng)運(yùn)行需求 運(yùn)行環(huán)境: Windows 9x、 202 xp、 2021, Linux 必要環(huán)境: JDK 以上 硬件環(huán)境: CPU 800MHz以上 ,內(nèi)存 256MB以上 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 7 - 第 3章 系統(tǒng)概要設(shè)計(jì) 系統(tǒng)結(jié)構(gòu) 設(shè)計(jì) 系統(tǒng)總體 結(jié)構(gòu) 設(shè)計(jì) 如圖 31 圖 31 系統(tǒng)總體結(jié)構(gòu) 服務(wù)器功能結(jié)構(gòu) 本系統(tǒng)服務(wù)器端的主要功能是負(fù)責(zé)處理客戶(hù)連接,根據(jù)其的請(qǐng)求消息,做出相應(yīng)的響應(yīng)和返回相關(guān)數(shù)據(jù), 具體有一下幾個(gè): 1. 啟動(dòng)并監(jiān)聽(tīng)用戶(hù)請(qǐng)求 2. 根據(jù)制訂好的協(xié)議類(lèi)型處理用戶(hù)發(fā)來(lái) 的消息 3. 負(fù)責(zé)數(shù)據(jù)庫(kù)的連接 4. 輸出服務(wù)器日志 其功能結(jié)構(gòu)如圖 32 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 8 - 圖 32 服務(wù)器功能結(jié)構(gòu) 客戶(hù)端功能結(jié)構(gòu) 本系統(tǒng)客戶(hù)端的功能主要包括一下幾個(gè): 1. 用戶(hù)注冊(cè) 2. 用戶(hù)登錄 3. 一對(duì)一聊天 4. 一對(duì)多聊天 5. 添加和搜索好友 6. 文件傳輸 7. 創(chuàng)建群組 其功能結(jié)構(gòu)如圖 33 監(jiān)聽(tīng)請(qǐng)求 AppServer 服務(wù)器啟動(dòng)動(dòng) 數(shù)據(jù)庫(kù) 消息處理器 服務(wù)器界面 輸出日志 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 9 - 圖 33 客戶(hù)端功能結(jié)構(gòu) 系統(tǒng)流程圖 系統(tǒng)流程圖如圖 34 服務(wù)器首先啟動(dòng),等待客戶(hù)機(jī)的連接, 待服務(wù)器和客戶(hù)端建立連接后,用戶(hù)輸入登錄信息,驗(yàn)證成功后進(jìn)入系統(tǒng)主界面,便可以使用聊天,發(fā)送文件等一系列功能。登錄失敗,返回失敗信息,重新登錄。 客戶(hù)端啟動(dòng) 連接服務(wù)器 用戶(hù)注冊(cè) 用戶(hù)登錄 一對(duì)一聊天 一對(duì)多聊天 搜索添加好友 文件傳輸 創(chuàng)建群組 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 10 - 圖 34 系統(tǒng)流程圖 啟動(dòng)服務(wù)器 開(kāi)始 判斷啟動(dòng)狀態(tài) 客戶(hù)端啟動(dòng) 用戶(hù)登錄 判斷登錄信息 主界面 退出 注冊(cè) 否 是 否 是 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 11 - 第 4章 系統(tǒng)詳細(xì)設(shè)計(jì) 系統(tǒng)通信實(shí)現(xiàn)原理 客戶(hù)端與服務(wù)器通信原理 客戶(hù)端與服務(wù)器的通信是基于 TCP/IP 協(xié) 議的, TCP/IP 是一種面向連接的保證傳輸?shù)膮f(xié)議,在傳輸數(shù)據(jù)流前,雙方會(huì)先建立一條虛擬的通信道??梢院苌俨铄e(cuò)傳輸數(shù)據(jù),其原理圖如下: 圖 41 客戶(hù)端和服務(wù)器通信原理圖 服務(wù)器啟動(dòng)時(shí),創(chuàng)建一個(gè) ServerSocket并監(jiān)聽(tīng)某一個(gè)端口,等待客戶(hù)端的連接,當(dāng)客戶(hù)端的連接到來(lái)時(shí),服務(wù)器啟動(dòng)一個(gè)線程處理客戶(hù)端和服務(wù)器的 socket連接,再?gòu)?socket 里得到發(fā)送和接收的數(shù)據(jù)流。多個(gè)客戶(hù)端連接,則由多個(gè)線程處理,正是由于 java多線程的特點(diǎn),大大增強(qiáng)了服務(wù)器并行處理能力 。 建立通信之后,服務(wù)器和客戶(hù)端之間的交互采 取系統(tǒng)自訂的一套消息協(xié)議,根據(jù)消息協(xié)議類(lèi)型,服務(wù)器做出不同的響應(yīng)。 協(xié)議主要有以下幾種: public static final int REGIST = 1。 // 用戶(hù)注冊(cè)請(qǐng)求 public static final int LOGIN = 2。 // 用戶(hù)登錄請(qǐng)求 public static final int SMS = 3。 // 普通消息 public static final int GETFriendList = 4。 //請(qǐng)求好友列表消息 public static final int SEARCH_USER= 8。 //搜索好友請(qǐng)求 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 12 - public static final int UPDATEUserInfo = 5。 //更新用戶(hù)信息請(qǐng)求 public static final int GETConnectInfo = 6。 //獲得連接信息請(qǐng)求 public static final int UPDATEFriendList = 7。 //更新好友列表請(qǐng)求 public static final int ADD_FRIEND= 9。 //添加好友請(qǐng)求 客戶(hù)端和客戶(hù)端之間的通信 客戶(hù)端與客戶(hù)端之間的連接是基于 UDP 協(xié)議的, UDP 是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議。UDP 不提供可靠性,它只是把應(yīng)用程序傳給 IP 層的數(shù)據(jù)報(bào)發(fā)送出去,但是并不能保證它們能到達(dá)目的地。由于 UDP 在傳輸數(shù)據(jù)報(bào)前不用在客戶(hù)和服務(wù)器之間建立一個(gè)連接,且沒(méi)有超時(shí)重發(fā)等機(jī)制,故而傳輸速度很快 。其原理圖如下: 圖 42 客戶(hù)端之間的通信 服務(wù)器端設(shè)計(jì) 服務(wù)器主要的功能模塊有一下幾個(gè): 服務(wù)器的啟動(dòng)和 初始化 數(shù)據(jù)庫(kù)連接 消息處理器 DataGramSocket 客戶(hù)端 1 () () Receive(package) 客戶(hù)端 2 Send(package) Receive(package) Send(package) 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 13 - 開(kāi)始 服務(wù)器主界面 初始化數(shù)據(jù)庫(kù)連接池 監(jiān)聽(tīng)用戶(hù)請(qǐng)求 觸發(fā)按鈕 啟動(dòng) 關(guān)閉 結(jié)束 服務(wù)器 的 啟動(dòng) 和初始化 界面設(shè)計(jì) 服務(wù)器 啟動(dòng) 界面設(shè)計(jì)如圖 43: 圖 43 服務(wù)器界面 服務(wù)器啟動(dòng)流程 圖 其流程圖如 圖 42: 圖 42 服務(wù)器 啟動(dòng)流程 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 14 - 服務(wù)器啟動(dòng) 時(shí),先 打開(kāi)服務(wù)器主界面, 負(fù)責(zé)其界面顯示, 當(dāng) 按下“啟動(dòng)”按鈕,啟動(dòng)服務(wù)器, 負(fù)責(zé)服務(wù)器的初始化, 調(diào)用其私有方法 initDBpool(),初始化數(shù)據(jù)庫(kù)連接池, 創(chuàng)建 ServerSocket 監(jiān)聽(tīng)用戶(hù)請(qǐng)求,最后 等待用戶(hù)連接 。 代碼實(shí)現(xiàn) 服務(wù)器啟動(dòng)關(guān)鍵代碼: 圖 43 服務(wù)器啟動(dòng)關(guān)鍵代碼 數(shù)據(jù)庫(kù)連接 數(shù)據(jù)庫(kù)連接池原理設(shè)計(jì) 本系統(tǒng)在數(shù)據(jù)庫(kù)連接方面,使用了數(shù)據(jù)庫(kù)連接池,此方式能大大提高系統(tǒng)運(yùn) 行效率,充分利用系統(tǒng)資源 ,其具體設(shè)計(jì)如下: 1) 先創(chuàng)建一定數(shù)量的連接,放在一個(gè)數(shù)組列表里,形成連接“池” 2) 當(dāng)需要數(shù)據(jù)庫(kù)連接時(shí),從池里取出來(lái),而不必每次都要耗時(shí)去建立連接,用完則重新放回池里 3) 分別用最大連接數(shù),最小連接數(shù),可用連接數(shù)和在用連接數(shù)來(lái)維護(hù)連接池,保證其穩(wěn)定性 。 連接池實(shí)現(xiàn)流程圖 流程圖如圖 44 public void initServer(){ initDBpool()。//初始化數(shù)據(jù)庫(kù)連接池 try{ serverSocket = new ServerSocket(5000)。 (服務(wù)器啟動(dòng),監(jiān)聽(tīng) 5000 端口 ......)。 while (true){ socket = ()。 (客戶(hù)已連接 ....)。 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 15 - 圖 44 數(shù)據(jù)庫(kù)連接池流程圖 消息處理器 消息處理器原理設(shè)計(jì) 消息處理器是服務(wù)器端的核心內(nèi)容,它主要負(fù)責(zé): 從連接里獲得客戶(hù)端發(fā)來(lái)的消息包,對(duì)消息包進(jìn)行拆包處理 ,然后 對(duì)消息包進(jìn)行分析,根據(jù)消息的協(xié) 議類(lèi)型,處理相關(guān)的事件 ,待 事件處理完畢之后,打包反饋消息及相關(guān)的數(shù)據(jù),通過(guò)連接發(fā)回給客戶(hù)端 。 消息處理流程圖 其流程圖如圖 45 圖 45 消息處理流程 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 16 - 客戶(hù)端設(shè)計(jì) 用戶(hù)注冊(cè) 用戶(hù)注冊(cè)界面 圖 46 客戶(hù)端注冊(cè)界面 用戶(hù)注冊(cè)流程 圖 注冊(cè)流程如圖 47 開(kāi)始 填寫(xiě)注冊(cè)信息 打包成消息包進(jìn)行發(fā)送 注冊(cè)成功 返回注冊(cè)號(hào)碼 結(jié)束 是 否 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 17 - 圖 47 用戶(hù)注冊(cè)流程 首先 從注冊(cè)界面中收集用戶(hù)信息 , 把注冊(cè)信息打包成消息包,并設(shè)置消息類(lèi)型為 1(即注冊(cè)請(qǐng)求) ,有客戶(hù)端發(fā)送給服務(wù)器, 服務(wù)器收到注冊(cè)信息向數(shù)據(jù)庫(kù)添加用戶(hù)記錄 , 成功則向客戶(hù)端返回注冊(cè)號(hào)碼,失敗返回失敗信息 。 代碼實(shí)現(xiàn) 圖 48 用戶(hù)注冊(cè)關(guān)鍵代碼 用戶(hù)登錄 用戶(hù)登錄界面設(shè)計(jì) 登錄界面 //================打包注冊(cè)信息 ============= ProtocolMsg send_Msg = new ProtocolMsg()。 ()。 MapString, Object map = new HashMapString, Object()。 (map)。 (regist_info, user)。 ProtocolMsg get_Msg = (send_Msg)。//發(fā)送注冊(cè)信息 //注冊(cè)成功返回注冊(cè)號(hào) if (().get(regist_status).equals(success)) { int userid = (Integer) ().get(regist_info_userid)。 (registView, 您注冊(cè)的用戶(hù) ID 是: + userid)。 ()。 (關(guān)閉連接 ....)。 ()。 (closeRunnable)。 } else//注冊(cè)失敗返回錯(cuò)誤信息 { (registView, 您注冊(cè)的用戶(hù)名已存在 )。 ()。 (關(guān)閉連接 ....)。 ()。 } 咔嚓大學(xué) 2021 屆 本科生畢業(yè)論文 - 18 - 圖 49 用戶(hù)登錄界面 登錄成功界面 圖 410 用戶(hù)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1