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

正文內(nèi)容

畢業(yè)論文-基于java的即時通信軟件設(shè)計與實現(xiàn)(存儲版)

2024-12-17 23:16上一頁面

下一頁面
  

【正文】 系人狀態(tài)對常用聯(lián)系人進行管理等主要考慮以下基本功能注冊并登錄服務器驗證用戶獲得用戶列表用戶運行客戶端程序后服務器端程序在局域網(wǎng)上運行與其他用戶進行點對點的實時消息通信服務 22 服務器端需求 處理用戶登錄當用戶到達登陸界面時用戶發(fā)送賬號密碼等信息進行分裝服務器接受到用戶發(fā)送的登陸賬號密碼驗證用戶登錄服務器將用戶登陸發(fā)送的賬號和密碼與數(shù)據(jù)庫中已有的用戶進行匹配如果能能找到那么就驗證成功找不到該用戶驗證失敗處 理用戶發(fā)送信息和處理用戶得到信息用戶可以通過對話框和自己的好友進行文字類的交流可以發(fā)送消息同時也可以接受好友消息處理用戶退出關(guān)閉服務器等 23 客戶端需求 用戶注冊界面及結(jié)果可以將用戶的姓名性別年齡等信息分裝添加到用戶數(shù)據(jù)表中然后用戶可以根據(jù)注冊的賬號密碼進行登錄用戶登錄界面及結(jié)果用戶進入登陸界面填寫自己的賬號密碼然后將其提交給服務器用戶驗證界面及結(jié)果根據(jù)服務器驗證的結(jié)果驗證成功用戶可以進入登陸成功界面驗證失敗用戶會得到一個登陸失敗界面用戶發(fā)送信息界面及結(jié)果用戶可以雙擊自己的好友然后彈出一個對話框可以和自己的 好友進行交流用戶得到信息界面及結(jié)果當好友給自己發(fā)送消息時用戶自己的好友界面端好友頭像閃動然后點擊好友頭像上就可以接受到好友的消息 24 對于發(fā)送的消息的一些協(xié)議需求 發(fā)送的消息必須至少使用一種消息格式格式必須包含一個讓接收者可以回消息的地址發(fā)信者和即時收件箱的標識允許對信息有效負載的編碼和鑒別非ASCIIIP 地址客戶的及然后返回用戶登錄成功的標志 第二步根據(jù)用戶存儲在服務器上的好友列表服務器將用戶在線的相關(guān)信息發(fā)送給也同時在線的好友的 PC機這些信息包括在線狀態(tài) IP地址等好友的客戶端收到此信息后將 第三步是服務器把用戶存儲在服務器上的好友列表及相關(guān)信息回送到他的客戶端機這些信 息包括也在線狀態(tài) IP 地址等信息 圖 2 用戶體驗流程圖 通訊方式 1 在線直接通訊 如果用戶想與他的在線好友用戶聊天他將直接通過服務器發(fā)送過來的用戶的 IP地址 TCP端口號等信息直接向用戶的 PC機發(fā)出聊天信息用戶的客戶端軟件收到后顯示在屏幕上然后用戶再直接回復到用戶的 PC 機這樣雙方的即時文字消息就不服務器中轉(zhuǎn)而是直接通過網(wǎng)絡(luò)進行點對點的通訊 2 在線代理通訊 用戶與用戶的點對點通訊由于防火墻網(wǎng)絡(luò)速度等原因難以建立或者速度很慢服務器將會主動提供消息中轉(zhuǎn)服務即用戶和用戶的即時消息全部先發(fā)送到服務器再由服 務器轉(zhuǎn)發(fā)給對方 功能模塊劃分 服務器端 服務器端完成至少 3大功能建立連接存儲數(shù)據(jù)和監(jiān)聽客戶這 3大功能的具體含義如下 1 建立一個 ServerSocket 連接不斷偵聽是否有客戶端連接或者斷開連接 2 服務器端是一個信息發(fā)送中心所有客戶端的信息都傳到服務器端再由服務器根據(jù)要求分發(fā)出去 3 數(shù)據(jù)庫數(shù)據(jù)操作包括用戶信息存儲到數(shù)據(jù)庫等 圖 3 服務器端功能結(jié)構(gòu)圖 客戶端 客戶端要完用戶登錄通信交流這些功能的含義如下 用戶登錄客戶端與服務器端建立通信信道向服務器端發(fā)送信息完成用戶登錄 通信交流客戶端 可完成的信息的編輯發(fā)送和接收等功能該即時聊天工具按如下過程完成通信客戶向服務器告知服務器該客戶監(jiān)聽某主題客戶之后向服務器發(fā)送消息服務器再把消息發(fā)送給所有監(jiān)聽此主題的客戶 圖 4 客戶端功能模塊圖 第四章 數(shù)據(jù)庫概要設(shè)計 41 系統(tǒng)實體及實體關(guān)系圖 經(jīng)過本人對系統(tǒng)數(shù)據(jù)信息的分析設(shè)計了有用戶實體好友列表實體兩個實體用戶實體屬性包括了用戶編號昵稱密碼簽名性別生日在線頭像離線頭像消息頭像等好友列表實體包括了功能 ID 用戶編號好友編號等屬性用戶好友實體和好友列表實體 ER 圖如圖 5 圖 5 實體關(guān)系圖 根據(jù)實體關(guān)之間系數(shù)據(jù) 庫設(shè)計了用戶表 登錄用戶 好友表 friends 另外為了方便編寫用戶的登陸狀態(tài)和直觀的表示服務器端又添加了在線狀態(tài)表 logtype 和登陸表用的數(shù)據(jù)庫是 oracle10 對數(shù)據(jù)庫表進行操作的軟件工具是PLSQL Developer 下面將對這五張表進行詳細說明 42 用戶表 用戶表主要是記錄每個用戶自己的信息包括自己的號昵稱密碼簽名性別生日在線頭像離線頭像消息頭像等這些字段其中 num 和 sex 為數(shù)字類型namepassdesc 為字符串類型而在線頭像離線頭像消息頭像是大數(shù)據(jù)類型生日是日期類型主鍵是 num 主鍵每 條記錄應當具備惟一性表 1 標識 字段 類型 精度 是否主鍵 是否外鍵 編號 num number 10 是 否 昵稱 name varchar2 20 否 否 密碼 pass varchar2 20 否 否 簽名 desc varchar2 100 否 否 性別 sex number 1 否 否 生日 birthday date 否 否 在線頭像 olpic blob 否 否 離線頭像 ofpic blob 否 否 消息頭像 mespic blob 否 否 43 好友表 friends 好友表主要反應的是該好友和好友之間的關(guān)系 friidnumfrinum 都是數(shù)字類型的其中 friid是主鍵 num是外鍵外鍵表示了兩個關(guān)系之間的聯(lián)系以另一個關(guān)系的外鍵作主關(guān)鍵字的表被稱為主表具有此外鍵的表被稱為主表的從表外鍵又稱作外關(guān)鍵字主鍵與外鍵用于區(qū)分不同的記錄便于查詢外鍵又稱作外關(guān)鍵字表 標識 字段 類型 精度 是否主鍵 是否外鍵 功能 ID Friid number 10 是 否 編號 num number 10 否 是 好友編號 Frinum number 10 否 是 44 在線 狀態(tài)表 logtype 在線狀態(tài)表主要是反應用戶的登陸狀態(tài)的表 Typeid 是數(shù)字類型typenametypedesc 是字符串類型其中初始化數(shù)據(jù)時 10 代表離線 11代表隱身 12代表在線如表 3 表 標識 字段 類型 精度 是否主鍵 是否外鍵 狀態(tài) ID typeid number 2 是 否 狀態(tài)名稱 typename varchar2 10 否 否 狀態(tài)描述 typedesc varchar2 100 否 否 45 登陸表 登陸表主要是將登陸的用戶信息反映到服務器端服務器端顯示每個登陸的用戶信息其中 numtypeid是字符類型的 logip是字符串類型的 logtime是日期類型的而且 num 即時這張表的主鍵也是這張表的外鍵同時 typeid 也是這張表的外鍵如表 4 表 標識 字段 類型 精度 是否主鍵 是否外鍵 編號 num number 10 是 是 狀態(tài) ID typeid number 2 是 登陸 IP logip varchar2 15 登陸時間 logtime date 46 離線信息表 離線表主要是方便用戶不在線時將離線信息存儲在這個表中當用戶登錄時將信息顯示給用戶其 中 ID 是 number 類型的 fromuseridtouseridmessage是字符串類型的同時編號 ID 是這張表的主鍵如表 5 表 5 離線信息表 標識 字段 類型 精度 是否主鍵 是否外鍵 編號 Id number 10 是 用戶賬號 fromuserid varchar2 10 好友賬號 touserid varchar2 10 留言信息 message varchar2 100 第五章 詳細設(shè)計 51 服務器端的設(shè)計與實現(xiàn) CS 模式下的系統(tǒng)開發(fā)很顯然服務器端程序的設(shè)計是非常重要的下 面就服務器端的相關(guān)程序模塊進行設(shè)計并一定程度上實現(xiàn)了相關(guān)功能使用 SeverSocket s newServerSocket 語句在端口創(chuàng)建套接口使用 new ServerThread socket 語句創(chuàng)建新的線程服務器類調(diào)用 ServerThread類而每個 ServerThread實體就是一個獨立的線程剛好對應于客戶端的連接請求響應線程 圖 6 服務器端界面 當服務器打開時會同時監(jiān)聽登陸線程 LoginListener 類監(jiān)聽消息線程MesListener 類這三個線程 登陸線程 LoginListener 類主要是負責服務器的登陸顯示發(fā)送給登陸用戶好友列表發(fā)送給登陸用戶其在線好友通知上線信息 wingetDao addLoginUser lm winsetTmodel wingetDao getLoginModel wingetTab setModel wingetTmodel 發(fā)送給登陸用戶好友列表的主要代碼為 ArrayList friList wingetDao getFriendsList lmgetnum SendModelsendFriList lm friList 發(fā)送給登陸用戶留言 MesModel mm wingetDao getmesModelByID lmgetnum if mm null SendModelsendMes mm lmgetip FinalFileCLI_MES_PORT wingetDao deleteMes lmgetnum 52 用戶注冊模塊 當用戶使用 Client 界面點擊注冊賬號用戶要把個人資料填寫完此時有一個注冊類線程開啟同時驗證用戶填寫的個人資料是否合法如果合法 將注冊的信息插入到用戶表用戶中同時還會將申請的賬號返回給用戶用戶可以通過這個賬號和自己注冊的密碼進行登錄如果不合法系統(tǒng)拒絕申請返回到登陸界面注冊模塊圖如圖 7 圖 7 用戶注冊模塊圖 注冊好友的方法如下所示 public void LoginId String nameString passString descint sexString birthday String sql insert into user values sq_usernextval namepassdescsexto_date birthday yyyymmdd nullnullnull dbutilexecuteDML sql 53 登陸模塊 型圖 當用戶使用賬號和密碼進行登錄這時候有一個登錄線程將用戶發(fā)過來的用戶信息和后臺數(shù)據(jù)庫里的用戶信息進行比對如果用戶的賬號和密碼與之完全匹配則用戶成功登錄并且返回給用戶登錄賬號的好友列表好友資料好友狀態(tài)如果不匹配服務器則告知登陸的用戶登錄失敗用戶登錄活動圖 8 圖 8 登陸模型圖 證 利用 JFrame 類寫一個登陸界面類 ClientFrame 在登陸界面類給所有的按鈕添加監(jiān)聽事件類 LoginFrameHandler 點擊登陸進入驗證登陸環(huán)節(jié)將登陸界面獲取的登陸賬號密碼狀態(tài)全部用一個登陸用戶類 LoginModel 分裝起來然后寫一個方法根據(jù)獲取的賬號和密碼從數(shù)據(jù)庫中查找如果能找到那么說明有這個用戶用戶進入登陸成功顯示好友界面這一環(huán)節(jié)如果根據(jù)賬號和密碼從數(shù)據(jù)庫中找不到該用戶那么說明密碼和賬號有問題這時提示輸入密碼和賬號有問題請關(guān)閉當前提示請重新登陸 實現(xiàn)驗證登陸功能方法的代碼如下 public boolean isEnter LoginModel lm String sql select num from user where num lmgetnum and pass lmgetpass dbutilsetSet dbutilexecuteQuary sql try if dbutilgetSet next return true catch SQLException e TODO Autogenerated catch block eprintStackTrac
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1