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

正文內(nèi)容

畢業(yè)設(shè)計-基于java的即時消息系統(tǒng)設(shè)計與實現(xiàn)-在線瀏覽

2025-02-05 19:29本頁面
  

【正文】 層, TCP 層便將它們向下傳送到 IP 層,設(shè)備驅(qū)動程序和物理介質(zhì),最后到接收方。 DNS在某些情況下使用 TCP(發(fā)送和接收域名數(shù)據(jù)庫),但使用 UDP 傳送有關(guān)單個主機(jī)的信息。因此, UDP不被應(yīng)用于那些使用虛電路的面向連接的服務(wù), UDP 主要用于那些面向查詢 應(yīng)答的服務(wù),例如 NFS。使用 UDP 的服務(wù)包括 NTP(網(wǎng)絡(luò)時間協(xié)議)和 DNS( DNS 也使用 TCP)。 4. TCP 與 UDP 的端口結(jié)構(gòu) TCP 和 UDP 服務(wù)通常有一個客戶 /服務(wù)器的關(guān)系,例如,一個 Tel 服務(wù)進(jìn)程開始在系統(tǒng)上處于空閑狀態(tài),等待著連接??蛻舫绦蛳蚍?wù)進(jìn)程寫入信息,服務(wù)進(jìn)程讀出信息并發(fā)出響應(yīng),客戶程序讀出響應(yīng)并向用戶報告。 兩個系統(tǒng)間的多重 Tel 連接是如何相互確認(rèn)并協(xié)調(diào)一致呢? TCP 或 UDP連接唯一地使用每個信息中的如下四項進(jìn)行確認(rèn): ? 源 IP 地址 : 發(fā)送包的 IP 地址 。 ? 源端口 : 源系統(tǒng)上的連接的端口 。 端口是一個軟件結(jié)構(gòu),被客戶程序或服務(wù)進(jìn)程用來發(fā)送和接收信息。服務(wù)進(jìn)程通常使用一個固定的端口,例如, SMTP 使用2 Xwindows 使用 6000。用 Java 實現(xiàn)的 HotJava 瀏覽器(支持 Java applet)顯示了 Java 的魅力:跨平臺、動態(tài)的 Web、 Inter 計算。另一方面, Java 技術(shù)也不斷更新。 Java對對象技術(shù)的全面支持和 Java平臺內(nèi)嵌的 API[7]能縮短應(yīng)用系統(tǒng)的開發(fā)時間并降低成本。特別是 Java 企業(yè)應(yīng)用編程接口( Java Enterprise APIs)為企業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。 通信的基礎(chǔ)是套接口( Socket),一個套接口是通訊的一端。一個正在被使用的套接口都有它的類 型和與其相關(guān)的進(jìn)程。通訊域是為了處理一般的線程通過套接口通訊而引進(jìn)的一種抽象概念。左邊兩部分稱為一個半關(guān)聯(lián),當(dāng)與右邊兩部分建立連接后就稱為一個全關(guān)聯(lián)。如果是使用無連接的通信則只需要建立一個半關(guān)聯(lián),在發(fā)送和接收時指明另一半的參數(shù)就可以了,所以可以說無連接的通信是將數(shù)據(jù)發(fā)送到另一臺主機(jī)的指定端口。 Socket 接口是訪問 Inter 使用得最廣泛的方法。線程是在同一時間需要完成多項任務(wù)的時候被實現(xiàn)的。使用線程可以把占據(jù)長時間的程序中的任務(wù)放到 后臺 去處理 程序的運行速度可能加快 在這種情況下我們可以釋放一些珍貴的資源如 內(nèi)存 占用等等。 Java 對多線程的支持是非常強(qiáng)大的,他屏蔽掉了許多的技術(shù)細(xì)節(jié),讓我們可以輕松的開發(fā)多線程的應(yīng)用程序。 J2SE,J2ME 和 J2EE,這也就是 SunONE(Open NetEnvironment)體系。 Standard Edition(標(biāo)準(zhǔn)版 ) J2SE 包含那些構(gòu)成 Java 語言核心的類。 J2SE 包含那些構(gòu)成 Java 語言核心的類。 SQL Server? 2021 的特性包括: Inter 集成。它還具有構(gòu)成最大的 Web 站點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和安全功能。 可伸縮性和可用性。 98 的便攜式電腦,到運行 Microsoft Windows 2021 數(shù)據(jù)中心版的大型多處理器服務(wù)器。 企業(yè)級數(shù)據(jù)庫功能。數(shù)據(jù)庫引擎充分保護(hù)數(shù)據(jù)完整性,同時將管理上千個并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。復(fù)制同樣使您得以維護(hù)多個數(shù)據(jù)復(fù)本 ,同時確保單獨的數(shù)據(jù)復(fù)本保持同步。 易于安裝、部署和使用。 SQL Server 2021 還支持基于標(biāo)準(zhǔn)的、與 Windows DNA 集成的程序設(shè)計模型,使 SQL Server 數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無縫部分。 第二章系統(tǒng)分析與設(shè)計 需求分析 此次開發(fā)的網(wǎng)絡(luò)聊天工具可作為個人的交流工具使用,通信的安全性不是很高,但要求信息的響應(yīng)速度要較快,讓用戶充分享受到網(wǎng)絡(luò)即時消息的方便和快捷。服務(wù)器是可以監(jiān)聽和查看用戶的基本操作;客戶端程序面向?qū)嶋H用戶,它有必要的界面的按鈕,向用戶提供網(wǎng)絡(luò)即時消息的功能: 本聊天需包含如下基本功能: : (1)新用戶注冊; (2)用戶登錄驗證; (3)獲取好友列表并顯示好友狀態(tài)(在線 /不在線); (4)添加用戶好友; (5)刪除用戶好友; (6)用戶與好友聊天(可查看聊天記錄); (7)接收系統(tǒng)信息。 系統(tǒng)總體框架 總體設(shè)計 網(wǎng)絡(luò)即時通訊系統(tǒng)采用客戶機(jī) /服務(wù)器( C/S)的模式來設(shè)計,是一個 3 層的C/S 結(jié)構(gòu):數(shù)據(jù)庫服務(wù)器- 應(yīng)用程序服務(wù)器端- 應(yīng)用程序客戶端。給聊天工具設(shè)計一個客戶層具有很多優(yōu)點, 這是因為客戶層擔(dān)負(fù)著用戶與應(yīng)用間的對話功能。為了使用戶能直觀地進(jìn)行操作,客戶層需要合作圖形用戶接口。數(shù)據(jù)檢查的內(nèi)容限于數(shù)據(jù)的形式和值的范圍,不包括有關(guān)業(yè)務(wù)本身的處理邏輯。例如,用戶需要檢索數(shù)據(jù),系統(tǒng)設(shè)法將有關(guān)檢索要求的信息一次性地傳送給功能層 。在應(yīng)用設(shè)計中,必須避免表示層和功能層之間進(jìn)行多次的數(shù)據(jù)交換,這就需要盡可能進(jìn)行一次性的業(yè)務(wù)處理,達(dá)到優(yōu)化整體設(shè)計的目的。 SQL Server 2021 能迅速執(zhí)行大量數(shù)據(jù)的更新和檢索。 功能模塊 聊天工具按如下過程完成通信: ? 客戶向服務(wù)器注冊,告知服務(wù)器它在監(jiān)聽某主題; ? 客戶注冊之后,向服務(wù)器發(fā)送消息; ? 服務(wù)器再把消息發(fā)送給所有監(jiān)聽些主題的客戶。根據(jù)聊天的通信步驟,系統(tǒng)的功能模塊如圖 所示: 即時消息系統(tǒng) 服務(wù)器端 客戶端 后臺操 作 建立連接 . 監(jiān)聽客戶請求 用戶登錄消息 用戶管理 好友管理 聊天功能 用戶登錄 用戶注冊 查找好友 添加好友 刪除好友 發(fā)送消息 接收消息 聊天記錄 數(shù)據(jù)庫操作 發(fā)送系統(tǒng)消息 消息管理 圖 功能模塊 服務(wù)器完成 5 大功能:建立連接、監(jiān)聽客戶請求、操作數(shù)據(jù)庫、查看用戶登錄消息和發(fā)送系統(tǒng)消息這 5 大功能的具體含義如下: ? 建立連接:系統(tǒng)啟動時建立一個 ServerSocket 連接,綁定本地計算機(jī)的一個端 口,不斷偵聽是否有客戶端連接或者斷開連接。 ? 數(shù)據(jù)庫操作:當(dāng)客戶機(jī)向服務(wù)器發(fā)送請求時,服務(wù)器需要通過數(shù)據(jù)庫管理軟件對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行增、刪和查詢。 ? 用戶登錄消息:在服務(wù)器端的界面上,我們可以看到用戶的登錄 消息,包括 IP地址、端口號,登錄時間等。 客戶端完成 3 大功能:用戶管理、好友管理和聊天功能,這些功能的含義如下: ? 用戶管理:此功能又包括 2 個子功能,用戶登錄和用戶注冊。注冊完畢后,可以通過系統(tǒng)的登錄界面,輸入賬號和密碼,然后發(fā)送到服務(wù)器進(jìn)行驗證。 ? 好 友管理:此功能又包括 3個子功能,查找好友、添加好友和刪除好友。查找好友時,客戶端向服務(wù)器發(fā)送查找好友請求 ,服務(wù)器端返回在線用戶的信息,此時我們可以通過此來進(jìn)行添加好友,并跟好友通過通信連接。所有的聊天消息都會被保存起來,可以查看與每個好友的聊天記錄。 系統(tǒng)詳細(xì) 設(shè)計 多線程設(shè)計 服務(wù)器需要和多個客戶端同時進(jìn)行通信,這就是服務(wù)器端的多線程。用多線程的好處在于可以同時處理多個通信連接,不會出于由于數(shù)據(jù)排隊而發(fā)生的延遲或者丟失,可以很好利用系統(tǒng)的性能。主線程與進(jìn)程結(jié)構(gòu)類似,它在獲得新連接時生成一個線程來處理這個這個連接。在程序的代碼里面,服務(wù)器端的多線程類定義為: Class ServerThread extends Thread{//略 }。利用循環(huán)等待的方式,客戶端首先接收用戶輸入的內(nèi)容并將它們發(fā)送到服務(wù)器端,然后接收來自服務(wù)器端的信息,將其返回給客戶端的用戶。在 SQL Server 2021 上新建名為 javaicq的數(shù)據(jù)庫,并建立兩張數(shù)據(jù)庫表:用戶的基本信息表(表名 icq)和用戶好友數(shù)據(jù)庫表(表名 friend) . 表 icq 表存放用戶信息,包括用戶的號碼( icqno)、昵稱 (nickname)、密碼(password)、在線是否 (status)、 IP 地址 (ip)、資料 (info)、頭像號 (pic)、性別 (sex)、 Email()和籍貫 (place)等信息。利用 SQL Server 2021 建立如下數(shù)據(jù)表: 表 好友信息表 字段 數(shù)據(jù)類型 說明 icqno char 用戶的賬號 friend char 好友的賬號 服務(wù)器的設(shè)計 主服務(wù)器實現(xiàn)了服務(wù)器的多線程,服務(wù)器端有一個進(jìn)程(或多個進(jìn)程)在指定的端口等待客戶的連接信息??蛻舳酥辉谛枰臅r候向服務(wù)端發(fā)出連接請求。它的執(zhí)行過程如下: ? 使用 ServerSocket s=new ServerSocket(8000)語句 綁定 8000 端口創(chuàng)建套接口 ? 使用 Socket=()來監(jiān)聽用戶的請求 ? 使用 new ServerThread(socket)語句創(chuàng)建新的線 程。 ServerThread 類的函數(shù)執(zhí)行過程可描述如下: ? 執(zhí)行 ServerThreadz(Socket s)線程構(gòu)造函數(shù) ? 執(zhí)行 socket=s 取得傳遞參數(shù); ? BufferedReader(new InputStreamReader(()))創(chuàng)建輸入流; ? 使用 PrintWriter(new BufferedWriter( new OutputStreamWriter( )))創(chuàng)建輸出流; ? 使用 start()函數(shù)啟動線程; ? 最后使用 run()線程監(jiān)聽函數(shù)。服務(wù)器接收到客戶端發(fā)送過來的號碼和密碼信息后,設(shè)定數(shù)據(jù)庫查尋條件,并執(zhí)行數(shù)據(jù)庫查尋,通過 比較輸入的用戶名和密碼和數(shù)據(jù)庫信息來確定用戶的登錄是否成功 ,如果成功就,發(fā)送“ ok”給客戶端,通知其進(jìn)入聊天主界面 .反之發(fā)送“ false” ,提示用戶登錄失敗 ,如圖 所示: 客戶端 服務(wù)器端 Socket 讀取數(shù)據(jù)庫,并驗證賬號與密碼 發(fā)送:“ login” 接收:賬號和密碼 接收 :“ login” 監(jiān)聽用戶請求 發(fā)送:賬號和密碼 ServeSocket 接收:“ ok” 發(fā)送:“ ok” 打開程序主界面 把 IP 地址和在線狀態(tài)錄入數(shù)據(jù)庫 數(shù)據(jù)庫 結(jié)束 通知好友 圖 登錄流程 ( 2)通知好友 通知好友也是在 ServerThread 類的 run()函數(shù)里面,當(dāng)某一用戶成功登錄后,發(fā)送“ getwhoaddme”到服務(wù)器端,服務(wù)器端查找數(shù)據(jù)庫中的“ friend”數(shù)據(jù)表,并把用戶的所有好友消息及在線狀態(tài)發(fā)送回客戶端,客戶端通過這些好友的消 息,向在線的好友發(fā)送上線通知。當(dāng)服務(wù)器端收到客戶端發(fā)送的“ new”請求時,服務(wù)器端開始進(jìn)行新建用戶操作。最后服務(wù)器接收客戶端用戶發(fā)送的昵稱、密碼、用戶 Email,個人資料、籍貫 和頭像等信息,執(zhí)行數(shù)據(jù)庫添加操作完成用戶的創(chuàng)建。 (1)查找好友 當(dāng)客戶端向服務(wù)器查找好友的請求后,服務(wù)器立即響應(yīng)并調(diào) 方法加載數(shù)據(jù)庫驅(qū)動類 ,然后調(diào)用方法 完成數(shù)據(jù)庫的連接,得到用戶好友查詢的結(jié)果。服務(wù)器對數(shù)據(jù)庫聽查詢結(jié)果進(jìn)行篩選,只向客 戶端的用戶返回好友的注冊號碼、頭像信息號以及是否在線信息。 (2)添加好友 讀取資料功能是在查找好友功能基礎(chǔ)上建立的。服務(wù)器使用 Vector矢量保存客戶端用戶的好友號碼,并返回好友的昵稱、號碼、 IP 地址、狀態(tài)、頭像和個人資
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1