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

正文內(nèi)容

畢業(yè)論文-基于java的即時通信軟件設(shè)計與實現(xiàn)(編輯修改稿)

2024-12-13 23:16 本頁面
 

【文章內(nèi)容簡介】 e finally dbutilcloseAll return false 發(fā)送登陸信息的代碼方法如下 public static void sendLogin LoginModel lm try socket newSocket FinalFileSER_IP FinalFileSER_LOGIN_PORT objout new ObjectOutputStream socketgetOutputStream objoutwriteObject lm catch UnknownHostException e TODO Autogenerated catch block eprintStackTrace catch IOException e TODO Autogenerated catch block eprintStackTrace finally closeAll 如果上面的驗證登陸成功后那么就進(jìn)入登陸成功這一環(huán)節(jié)此時用 JFrame 類寫一個客戶端好友界面 ClientFrame 在這個好友界面里添加好友模型 FriendPanel 獲取頭像姓名簽名并在好友界面里添加監(jiān)聽好友模型線程類 FriListListener 好友狀態(tài)改變線程類 ChangeFriTypeListener 以及消息線程 MesListener 好友模型線程是為了獲取好友的信息好友狀態(tài)改變線程是為了監(jiān)聽好友的裝太多改變消息線程是為了獲取好友的消息 好友模型線程 FriListListener 類主要是顯示好友列表到界面 ArrayList friList ArrayList objinreadObject wingetFrisPanel setFrisView friList wingetFrisPanel repaint wingetContentPane repaint winvalidate 好友狀態(tài)改變線程類 ChangeFriTypeListener 類主要是將該邊狀態(tài)的好友重新顯示在好友列表客戶端并對改變了的好友不斷的刷新這部分功能代碼如下 LogUnLogModel cm LogUnLogModel objinreadObject ArrayList fpList wingetFrisPanel getFriPanList for FriendPanel friendPanel fpList if friendPanelgetFriModel getnum cmgetChangenum friendPanelgetFriModel setLogtype cmgetLogType friendPanelgetPicLab setIcon friendPanelgetImage break 54 添加好友刪除好友修改 個人資料模塊 用戶點擊添加好友按鈕這時會彈出一個添加好友畫面用戶把自己要添加的好友寫入到文本框里客戶端將其封裝然后交給服務(wù)器將好友添加到好友表里同時刷新客戶端界面可以實現(xiàn)添加好友刪除好友將刪除的好友獲取后從好友表中刪除同時刷新界面即可修改個人資料是將自己的新昵稱新簽名新密碼獲取然后在用戶表中更新同時刷新客戶端界面便可實現(xiàn)設(shè)置個人信息 添加好友的主要代碼為 public void addFriend int num1int num2 String sql insert into friends values sq_firnextval num1 num2 dbutilexecuteDML sql 刪除好友的主要代碼為 public void deleteFri int num1int num2 String sql delete from friends where num num1and frinum num2 dbutilexecuteDML sql 修改個人資料的代碼為 public void updateInfo String nameint numString desc String pass String sql1 update user set desc desc where num num dbutilexecuteDML sql1 String sql update user set pass pass where num num dbutilexecuteDML sql String sql2 update user set name namewhere num num dbutilexecuteDML sql2 55 發(fā)送和接收消息模塊 聊天流程 用戶登錄成功后雙擊好友打開聊天面板并填寫聊天內(nèi)容消息先是由用戶發(fā)送給服務(wù)器然后由服務(wù)器轉(zhuǎn)發(fā)給好友在這里是有服務(wù)器獲取到好友的 ip 然后服務(wù)器將分裝好的消息發(fā)送給這個 ip 和這個端口的好友頭像閃通好友通過接收消息的端口接收消息就可以實現(xiàn)兩個用戶之間的聊天聊天流程圖如圖 9 圖 9 聊天流程圖 接收消息 登陸成功后對每一個 FriendPanel 添加雙擊事件類 DoubleClickHandler 雙擊對方頭像后將會出現(xiàn)和對方的一個對話框類 SessionFrame 并對此類的按鈕添加一些監(jiān)聽事件通過這個點擊獲取到對方的信息發(fā)送消息主要是通過socket new Socket ipport 將一個消息發(fā)送給這個 ip 和端口的好友當(dāng)然在此之前還要判斷好友是否在線如果在線雙擊這個頭像彈出對話框 寫一個類 MesListener 用來接收消息但這里必需用一個相同的端口接收消息同時也是將接收到的消息轉(zhuǎn)換成文字流這個時候先判斷這個消息對話框是否打開如果這個會話框是打開的那么顯示消息顯示消息主要是將回話框里的文本文檔用 append 添加進(jìn)來如果這個回話框沒有打 開那么必須先閃動頭像把消息加入消息列表 發(fā)送消息的方法代碼為 public static void sendMes MesModel mes String ip int port try socket new Socket ip port objout new ObjectOutputStream socketgetOutputStream objoutwriteObject mes catch UnknownHostException e TODO Autogenerated catch block eprintStackTrace catch IOException e TODO Autogenerated catch block eprintStackTrace finally closeAll 客戶端檢查消息對話框是否打開以及將消息加入消息列表的主要代碼如下 MesModel mes MesModel objinreadObject int frinum mesgetnum for FriendPanel fp wingetFrisPanel getFriPanList if fpgetFriModel getnum frinum if fpgetSession isVisible fpgetSession getJtaG append MesUtilgetMesInfo mes fpgetFriModel getname else fpgetFsPane getMesList add mes fpsetMesPic break 56 關(guān)閉客戶端 用戶點擊自己的客戶端上的關(guān)閉按鈕此時需通知服務(wù)器下線然后服務(wù)刪除該用戶同時在服務(wù)器端重新顯示在線用戶并發(fā)送給登陸用戶其在線好友通知下線信息 圖 10 關(guān)閉客戶端 刪除登陸用戶代碼的主要方法為 public void unLoginUser int num String sql delete login where num num dbutilexecuteDML sql 第六章 系統(tǒng)測試 61 系統(tǒng)測試案例 為了檢測最總系統(tǒng)的效果本文運用的是 MyElipse 85 軟件來進(jìn)行測試在這里我先自己注冊一個賬號查看注冊功能是否成功然后我用錯誤的賬號和已注冊的注冊的賬號分別進(jìn)行登錄來進(jìn)行驗證去分別查看登錄失敗效果圖登錄成功圖以及雙擊好友和好友聊天等功能的實現(xiàn) 62 測試結(jié)果和分析 運行程序進(jìn)入客戶端登錄界面如圖 11 圖 11 客戶端登錄界面圖 點擊注冊按鈕就如注冊界面得到的注冊效果圖如圖 12 圖 12 注冊效果圖 注冊成功后得到的申請賬號成功界面如圖 13 圖 13 申請賬號成功界面圖 用一個錯誤的賬號或者密碼分別輸入到賬號密 碼中進(jìn)行登錄驗證這時應(yīng)該顯示密碼和賬號錯誤得到的提示如圖 14 圖 14 登錄錯誤圖 然后再用一個正確的賬號密碼進(jìn)行登錄進(jìn)行驗證顯示登錄成功好友界面在這個好友界面里添加好友模型 FriendPanel 獲取頭像姓名簽名等客戶端好友界面如圖 15 圖 15 好友界面圖 然后雙擊自己的好友聊天在這里比如雙擊自己的好友楊飛會彈出和自己好友聊天的界面在這個界面包括了聊天的好友名稱時間以及對話內(nèi)容好友聊天圖如圖 16 圖 16 好友聊天圖 第七章 總結(jié)與展望 隨著科學(xué)技術(shù)的 發(fā)展即時通信系統(tǒng)已經(jīng)越來越重要所以我很高興的選擇了這樣一個畢業(yè)設(shè)計系統(tǒng)著重研究并實現(xiàn)了網(wǎng)絡(luò)應(yīng)用的部分根據(jù)實現(xiàn)的情況看具有較友好的聊天界面生成效果以及流暢的網(wǎng)絡(luò)通信效果生成的聊天室可以達(dá)到基本的聊天要求具有較高的研究價值當(dāng)然該課題討論的即時通訊系統(tǒng)是定位于內(nèi)部局域網(wǎng)供小團(tuán)體內(nèi)部人員使用的通訊系統(tǒng) 即時通信中最基本的功能就是通過計算機之間的文本數(shù)據(jù)的互換的形式實現(xiàn)思想的交流和溝通它的優(yōu)點是方便快捷為人們之間創(chuàng)建了一種新型的廉價的快速的簡便的溝通方式 首先本系統(tǒng)完全按照軟件工程的瀑布模型進(jìn)行開發(fā)是按照需求分析概要 設(shè)計詳細(xì)設(shè)計軟件的運行和測試等的結(jié)構(gòu)進(jìn)行安排的 其次即時聊天系統(tǒng)采用了 CS模型服務(wù)器在 CS模型中處于一個中心地位服務(wù)器一般同時為多個客戶提供服務(wù)這就造成了服務(wù)器設(shè)計的復(fù)雜性即時通訊服務(wù)器是數(shù)據(jù)中心它是客戶活動的中介需要同時應(yīng)對眾多客戶的請求 經(jīng)過一段時間的學(xué)習(xí)和工作該即時聊天系統(tǒng)已經(jīng)實現(xiàn)了網(wǎng)絡(luò)即時通信工具的主要功能為實現(xiàn)一個嶄新的可跨平臺的 Java 即時聊天工具打下了基礎(chǔ) 參考文獻(xiàn) [1] 尹治本計算機網(wǎng)絡(luò)及應(yīng)用教程 [M]成都西南交通大 [2]熊曉敏劉瑛陳惠清基于 Java 的網(wǎng)絡(luò)即時通訊系統(tǒng)的設(shè)計與實現(xiàn) [J]計算機與現(xiàn)代化 2020 12 8992 [3] 羅軍舟黎波濤楊明吳俊黃健 TCPIP協(xié)議及網(wǎng)絡(luò)編程技術(shù)北京清華大 [4] Bruce Eckel 著侯捷翻譯 Java 編程思想 [M]北京機械工業(yè)出版社出版20209 [5] 京麗等數(shù)據(jù)通信原理 [M]北京北京郵電大 [6] 張虹軟件工程與軟件開發(fā)工具 [M]北京清華大學(xué)出版社 2020 [7] BrueeEekelThinkingInJava 第三版 [M]
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1