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

正文內(nèi)容

本科生畢業(yè)論文_精選_20_基于java的即時通訊系統(tǒng)-閱讀頁

2024-12-23 21:00本頁面
  

【正文】 圖 45 消息處理流程 咔嚓大學 2021 屆 本科生畢業(yè)論文 - 16 - 客戶端設計 用戶注冊 用戶注冊界面 圖 46 客戶端注冊界面 用戶注冊流程 圖 注冊流程如圖 47 開始 填寫注冊信息 打包成消息包進行發(fā)送 注冊成功 返回注冊號碼 結(jié)束 是 否 咔嚓大學 2021 屆 本科生畢業(yè)論文 - 17 - 圖 47 用戶注冊流程 首先 從注冊界面中收集用戶信息 , 把注冊信息打包成消息包,并設置消息類型為 1(即注冊請求) ,有客戶端發(fā)送給服務器, 服務器收到注冊信息向數(shù)據(jù)庫添加用戶記錄 , 成功則向客戶端返回注冊號碼,失敗返回失敗信息 。 ()。 (map)。 ProtocolMsg get_Msg = (send_Msg)。 (registView, 您注冊的用戶 ID 是: + userid)。 (關(guān)閉連接 ....)。 (closeRunnable)。 ()。 ()。 if (().get(login_status).equals(success)) {(closeRunnable)。 (friendlist)。 //群組信息 ArrayListChatGroupchatGroupList=(ArrayListChatGroup) ().get(user_groups)。 i ()。 ((i))。 ChatConnection chatConnection = new ChatConnection(user)。 (())。 (user)。 } else { String failInfo = (String) ().get(fail_info)。 ()。 (close the connection...)。其實現(xiàn)為 : 登陸后監(jiān)聽一個聊天消息接收的端口 雙擊好友獲取好友的通訊信息,即 IP 和端口號; 把消息打包成數(shù)據(jù)包發(fā)送出去 咔嚓大學 2021 屆 本科生畢業(yè)論文 - 22 - 代碼實現(xiàn) 圖 415 用戶聊天功能實現(xiàn)關(guān)鍵代碼 文件發(fā)送和接收 界面設計 發(fā)送界面 如圖 416 監(jiān)聽聊天消息接收端口 public ChatConnection(User user) { try{ socket = new DatagramSocket()。 GetChatMsgThread clientChatThread = new GetChatMsgThread(socket)。 ((), clientChatThread)。 } catch (IOException e) { ()。 ObjectOutputStream outputStream = new ObjectOutputStream(byteArrayOutputStream)。 ()。 ((r()))。 DatagramPacket packet = new DatagramPacket((), ().length, friendip, friendport)。 (向用戶 + () + 發(fā)送消息成功 )。當 好友收到請求,向發(fā)送方發(fā)送應答信息,并準備接收文件 。 (正等待文件接收應答信息 ....)。 byte[] ack_buf = new byte[1024]。 (ack_packet)。 int accept=(ack_info)。 (fileNamepacket)。 (lenPacket)。 //開始傳送文件 while (true) { int read = 0。 passedlen += read。 } if (read == 1){ passedlen = passedlen + 1。 break。 (700)。 (packet)。//發(fā)動應答信息 (new String(()))。 byte[] fileNameBuf = new byte[100]。 DatagramPacket fileNamepacket = new DatagramPacket(fileNameBuf, )。 (fileNamepacket)。 (fileName)。 String lenString=new String(()).toString().trim()。 len = (lenString)。 while (true)//開始接收文件 {DatagramPacket filePacket = new DatagramPacket(buffer, )。 if (() 0) { passedlen += ()。 } else { (doneRunnable)。 } (())。 int percent = (int) (passedlen * 100 / len)。 咔嚓大學 2021 屆 本科生畢業(yè)論文 - 26 - 圖 421 好友搜索界面 搜索和添加 好友流程圖 如圖 422 圖 422 好友搜索和添加流程 用戶在搜索好友時,先 選擇一種搜 索方式,如果選擇精確搜索方式,則輸入要搜索的號碼,如果選擇是模糊搜索,則只需輸入關(guān)鍵字 ,然后 向服務器發(fā)送搜索信息 , 服務器根據(jù)搜索信息和類型咔嚓大學 2021 屆 本科生畢業(yè)論文 - 27 - 去匹配數(shù)據(jù)庫 并 向客戶端返回搜索結(jié)果,顯示在界面上 ,如果用戶雙擊要添加好友,便會得到好友信息,并向 服務器發(fā)送好友添加的請求 , 服務器根據(jù)請求向用戶的好友列表中添加記錄,添加好友成功 , 更新客戶端主界面的還有列表信息 。 ObjectOutputStream outputStream = new ObjectOutputStream(new BufferedOutputStream(().getSocket().getOutputStream()))。 ()。 (map)。 (add_friendid, friendid)。 ()。 for (int i = 0。 i++){ (保存查詢結(jié)果! )。 ().addElement((i).getUsername())。} break。 HashMapInteger, User newfriendlist = (HashMapInteger, User) ().get(new_friendlist)。 if (result == 1) { (, 添加好友成功 )。 ()。 searchView = null。 (false)。 (newfriendlist, user)。 Oracle 的特點 、大事務量的事務處理 :Oracle支持多用戶、大數(shù)據(jù)量的工作負荷。 2. 據(jù)安全性和完整性控制 :Oracle通過權(quán)限設置限制用戶對數(shù)據(jù)庫的使用。 3. 供對于數(shù)據(jù)庫操作的接口 :Oracle 提供了應用程序、軟件、高級語言、異種數(shù)據(jù)庫等對于 Oracle數(shù)據(jù)庫的存取。 :從 Oracle7 開始, Oracle 數(shù)據(jù)庫就支持分布 式數(shù)據(jù)處理。將數(shù)據(jù)的處理過程分為數(shù)據(jù)庫服務器端及客戶應用程序端,共享的數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)集中處理,而運行數(shù)據(jù)庫應用的軟件在客戶端。從一種操作系統(tǒng)移植到其他操作系統(tǒng),不需修改或只修改少量的代碼。 系統(tǒng)數(shù)據(jù)表設計 本系統(tǒng)主要的數(shù)據(jù)表有 : 用戶信息表 c_user 用戶好友列表表 friendlist 群組信息表 chatgroup 群組成員表 group_users 咔嚓大學 2021 屆 本科生畢業(yè)論文 - 29 - 表設計如下: 圖 420 用戶信息表( c_user) 序號 字段名 字段意義 數(shù)據(jù)類型 1 userid 用戶 ID 數(shù)字 2 username 用戶名 字符 3 password 密碼 字符 4 address 地址 字符 6 phone 電話 數(shù)字 7 郵箱 字符 8 ip Ip 地址 字符 9 sex 性別 字符 10 occupation 職業(yè) 字符 11 age 年齡 數(shù)字 12 status 狀態(tài) 數(shù)字 13 c_level 等級 數(shù)字 14 port 端口 數(shù)字 15 registtime 注冊時間 字符 圖 421 好友列表表 ( friendlist) 序號 字段名 字段意義 數(shù)據(jù)類型 1 userid 用戶 id 數(shù)字 2 Friendid 好友 id 數(shù)字 圖 422 群組信息表 (chatgroup) 序號 字段名 字段意義 數(shù)據(jù)類型 1 groupid 群組 id 數(shù)字 2 groupname 群組名 字符 3 grouptype 群組類型 數(shù)字 4 description 描述 字符 5 userno 成員數(shù)量 數(shù)字 6 buildtime 創(chuàng)建時間 字符 7 userid 群主 數(shù)字 圖 421 群組成員表( group_users) 序號 字段名 字段意義 數(shù)據(jù)類型 1 groupid 群組 id 數(shù)字 2 userid 成員 id 數(shù)字 咔嚓大學 2021 屆 本科生畢業(yè)論文 - 30 - 第 5章 總結(jié) 經(jīng)過幾個晝夜的連續(xù)奮戰(zhàn),系統(tǒng)的雛形終于 出來了,雖然運行起來不是很穩(wěn)定,但基本功能還是實現(xiàn)了,也算是對這段時間來的努力的肯定。缺少開發(fā)經(jīng)驗,缺少實戰(zhàn)經(jīng)驗使得本系統(tǒng)的實現(xiàn)非常緩慢,系統(tǒng)本身也存在一些 Bug,不穩(wěn)定。這是 java的一個弱項,不像 VB,DELPHI等語言可以使用已有的控件。還有在網(wǎng)絡通信模塊文件傳輸模塊的調(diào)試也遇到很多問題,總是很難找到程序出錯的地方,即使找到不知道該如何 去調(diào)試,后來就上網(wǎng)搜索,尋找解決問題的方法,一段時間后在這方面也漸漸變得熟練了。這些問題都有待去解決,去改善。在以后的工作中,應更加注重軟件的需求分析與設計,完善的分析與設計將使得后期的開發(fā)更加順利。 鳴 謝 - 31 - 鳴 謝 本論文是在我的導師 羅鍋鍋 老師和大力支持下完成的。從課題的選擇到項目的最終完成,羅鍋鍋 始終給 予我細心的指導和不懈的支持, 在此謹向鄭老師致以誠摯 的謝意和崇高的敬意。 還要感謝室友對我在論文撰寫中格式和內(nèi)容排版的指導和支持。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 private static final AppServer appServer = new AppServer()。 private Socket socket。 public static MessageHandleCenter messageHandleCenter。 } 附 錄 - 34 - private AppServer() { } public void initServer() { initDBpool()。 (服務器啟動,監(jiān)聽 5000端口 ......)。 (客戶已連接 ....)。 ObjectOutputStream outputStream = new ObjectOutputStream(new BufferedOutputStream(()))。 (())。 (正在驗證用戶注冊信息 ....)。 if (().get(regist_status).equals(success)) { ( 用 戶 注 冊 成 功 , 用 戶 ID : + ().get(regist_info_userid))。 } (send_Msg1)。 break。 (正在獲取用戶信息 ....)。 (正在驗證用戶信息 ....)。 (send_Msg)。 if (().get(login_status).equals(success)) { ConnectThread connectThread = new ConnectThread(socket, messageHandleCenter)。 User client = (User) ().get(useri
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1