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

正文內(nèi)容

基于cs模型的java聊天室_畢業(yè)設(shè)計(已修改)

2025-07-22 06:28 本頁面
 

【正文】 巢湖 學(xué)院畢業(yè)設(shè)計(論文) 0 前言 使用 Java 開發(fā)網(wǎng)絡(luò)程序在網(wǎng)絡(luò)飛速發(fā)展的今天已經(jīng)顯得格外重要,與使用其他語言開發(fā)網(wǎng)絡(luò)程序一樣, Java 的網(wǎng)絡(luò)開發(fā)是相當(dāng)方便的,通過 Socket 進(jìn)行網(wǎng)絡(luò)信息傳輸。但與其他語言不同, Java 語言天生具備網(wǎng)絡(luò)開發(fā)的優(yōu)越性,使用 Java 可以快速開發(fā)安全的基于網(wǎng)絡(luò)的服務(wù)和應(yīng)用程序。 在網(wǎng)絡(luò)飛速發(fā)展的今天,各種各樣的的交流變的非常重要。人們的交流已經(jīng)不能局限在小范圍內(nèi),人們渴望與其他國家或地區(qū)的人們進(jìn)行交流。但由于地域的限制使人們不可能在短時間 內(nèi)得到面對面的交流。于是,人們不得不使用 Inter 這個可以把全世界所有的人短時間內(nèi)都聯(lián)系到一起的新生事物,所以網(wǎng)上聊天室就誕生了。剛開始的聊天室的功能很簡單,就是單純的文字交流。但隨著時間的發(fā)展和技術(shù)的提高,現(xiàn)在的聊天室已經(jīng)具備強(qiáng)大的功能。例如,傳輸文件,語音聊天,視頻聊天等。使人們不僅僅滿足于言語上的交流,還可以分享彼此的珍藏的圖片,看到對方的面容。這些新功能都受到了大家的一致好評。隨著手機(jī)可以上網(wǎng),手機(jī)也可以登錄到網(wǎng)上聊天室中,使人們不僅僅局限于坐在電腦前聊天,可以隨時隨地的上網(wǎng)聊天。 巢湖學(xué)院畢業(yè)設(shè)計(論文) 1 第 一 章 緒論 (一) 論文背景及課題來源 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及, Inter 已經(jīng)成為人們獲取有關(guān)信息和相互交流的重要途徑之一,越來越多的機(jī)構(gòu)和組織開始利用網(wǎng)絡(luò)資源傳遞、發(fā)布、收集和管理信息。這對各種類型的網(wǎng)絡(luò)提供一次很大的挑戰(zhàn)與機(jī)遇,特別是通過網(wǎng)絡(luò)進(jìn)行信息交互的這種活動,更加使網(wǎng)絡(luò)的經(jīng)營方式充滿了活力和機(jī)動性 [5]。 基于 C/S 模型的 Java 聊天室是應(yīng)用于網(wǎng)絡(luò)交流領(lǐng)域的系統(tǒng),它的主要特點(diǎn)有 : 1. 通用性:聊天室系統(tǒng)在各種各樣的網(wǎng)絡(luò)中均可以運(yùn)行,系統(tǒng)具有較高的可移植性和使用性; 2. 實(shí)用性:系統(tǒng)具有良好的人機(jī)界面,便于各類使用者操作,提供了人性化的服務(wù); 3. 及時性:通過網(wǎng)絡(luò)的連接,系統(tǒng)雙方的交流可以在短期內(nèi)進(jìn)行,相比與傳統(tǒng)面對面的交流節(jié)省不少時間 [15]。 聊天室中聊天內(nèi)容的及時性和準(zhǔn)確性是極其重要的,它 主要針對當(dāng)今社會快節(jié)奏生活,人們沒有很多時間來等信息。 本系統(tǒng)提供的功能便于 系統(tǒng)使用雙方的信息交流 ,有效的提高了使用者的使用效率,縮短了使用者的使用時間 [6]。 (二) 本課題在國內(nèi)外的發(fā)展?fàn)顩r 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,多數(shù)網(wǎng)站紛紛利用自己的網(wǎng)絡(luò)資源建立聊天室,并為客戶提供各種各樣 便捷的服務(wù)。中國的一些龍頭網(wǎng)站,如 sina,有很多聊天室,供國內(nèi)外的不同的人們進(jìn)行不同話題的討論,不僅將會員發(fā)展由國內(nèi)延伸到國際,更是為提高自身的知名度提供了方便 [2]。 聊天室的開放性、信息資源的多樣性可為網(wǎng)站發(fā)展提供優(yōu)良的廣告宣傳和商品推廣,這是其他網(wǎng)站活動方式所無法比擬的,聊天室趨向方便化、快捷化是各大網(wǎng)站成長的必然經(jīng)歷的階段 [8]。 (三) 應(yīng)解決的問題及系統(tǒng)開發(fā)意義 本系統(tǒng)針對聊天室用戶的需要,建立了客戶端和服務(wù)器端。主要解決的問題包括: 1. 服務(wù)器端和客戶端要實(shí)現(xiàn)界面化,并且界面盡量人性化。 2. 服務(wù)器端能夠正確的啟動,并且時刻監(jiān)視客戶端,保持與客戶端的連接。 3. 客戶端能夠快速準(zhǔn)確的連接上服務(wù)器端,發(fā)送的信息經(jīng)服務(wù)器端可以轉(zhuǎn)發(fā)給其他客戶。 巢湖學(xué)院畢業(yè)設(shè)計(論文) 2 4. 異常處理,對于用戶的不正確的操作系統(tǒng)應(yīng)該有提示。 基于 C/S 的 Java 聊天室系統(tǒng)它的開發(fā)意義在于為人們之間相互交流提供了一個快捷、方便的應(yīng)用平臺。大型網(wǎng)站可以通過聊天室來提高自身的知名度,增加的訪問流量。 第 二 章 開發(fā)工具及相關(guān)技術(shù)介紹 (一) Java 與 Socket 簡介 Java 語言是 Sun 公司于 1991 年創(chuàng)建的一種新的程序設(shè)計語言。該語言與 C/C++等傳統(tǒng)程序設(shè)計語言不同,具有突出的平臺獨(dú)立性,高度的可靠性和安全性特點(diǎn)。 1999年 6 月 SUN 公司重新定義了 Java 技術(shù)的結(jié)構(gòu),將 Java2 平臺分為三個版本:標(biāo)準(zhǔn)版( J2SE),企業(yè)版( J2EE)和微縮版( J2ME)。目前, Java 技術(shù)除了沿著 J2SE, J2EE,J2ME 三種技術(shù)為主脈絡(luò)迅速發(fā)展外,還密切關(guān)注 Inter 環(huán)境下各種新型信息技術(shù)的發(fā)展,并能夠迅速與這些新技術(shù)融合,積極支持這些新技術(shù)應(yīng)用的開發(fā) [1]。 Socket 是 Java 中需要編寫較低層次的網(wǎng)絡(luò)通信程序(例如 Client/Server 應(yīng)用程序 )時提供的一種通訊機(jī)制。 Socket 是兩個程序進(jìn)行雙向數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)通信的端點(diǎn),一般由一個地址加上一個端口號來標(biāo)識。每個服務(wù)程序都在一個眾所周知的端口上提供服務(wù),而想使用服務(wù)的客戶端程序則需要連接該端口。通過 Socket 的數(shù)據(jù)是原始字節(jié)流信息,通信雙方必須根據(jù)約定的協(xié)議對數(shù)據(jù)進(jìn)行處理與解釋 [15]。 Socket 通信機(jī)制提供了兩種通信方式:有連接方式( TCP)和無連接方式( UDP 數(shù)據(jù)報)。有連接方式中,通信雙方在開始時必須進(jìn)行一次連接過程,建立一條通信鏈路。通信鏈路提供了可靠的,全雙工的字節(jié)流服務(wù)。無連接方 式中,通信雙方不存在一個連接過程,一次網(wǎng)絡(luò) I/O 以一個數(shù)據(jù)報形式進(jìn)行,而且每次網(wǎng)絡(luò) I/O 可以和不同主機(jī)的不同進(jìn)程進(jìn)行。無連接方式開銷小于有連接方式,但是所提供的數(shù)據(jù)傳輸服務(wù)不可靠,不能保證數(shù)據(jù)報一定到達(dá)目的地 [14]。 Java 的有連接通信采用流式 I/O 模式。 Socket 是兩個進(jìn)程間通信鏈的端點(diǎn),每個Socket 有兩個流:一個輸入流和一個輸出流。只要向 Socket 的輸出流寫,一個進(jìn)程就可以通過網(wǎng)絡(luò)連接向其他進(jìn)程發(fā)送數(shù)據(jù);同樣,通過讀 Socket 的輸入流,就可以讀取傳輸來的數(shù)據(jù) [9]。有連接通信一般要經(jīng)歷 以 下 四個基本步驟: 創(chuàng)建 Socket,建立連接; 打開連接到 Socket 的輸入 /輸出流; 按照一定的協(xié)議對 Socket 進(jìn)行讀 /寫操作; 巢湖學(xué)院畢業(yè)設(shè)計(論文) 3 關(guān)閉 Socket。 第( 3)步是程序員用來調(diào)用 Socket 和實(shí)現(xiàn)程序功能的關(guān)鍵步驟,其他三步在各種程序中基本相同 [5]。 (二) JBuilder5 介紹 JBuilder5 是美國 Borland 公司最新推出的遵循 SUN 公司 J2EE 標(biāo)準(zhǔn)的集成開發(fā)工具,是目前使用最廣泛的 Java 開發(fā)工具之一。 JBuilder 作為業(yè)界領(lǐng)先的 Java 開發(fā)工具,在集成了 Tomcat 并支持 WebLogic 的同 時,其套裝版更是集成了 DreamweaverUltraDev,Rational Rose 等產(chǎn)品, JBuilder5 提供了可視化的集成開發(fā)工具,支持開發(fā)人員向?qū)O大地簡化了開發(fā)人員的工作,使開發(fā)更為快捷,方便 [12]。 JBuilder5 是一組全面的高效率工具,使用 Java 編程語言創(chuàng)建可伸縮的,高性能的和具有不依賴于平臺性能的應(yīng)用程序。由于可伸縮性和基于組件, JBuilder 可以開發(fā)所有級別的應(yīng)用工程,從 Apple 到連接企業(yè)級的,分布式的,多層解決方案的網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用。 JBuilder5 環(huán)境是用純 Java 編寫 。任何 Java 編寫的程序都可以在 JBuilder 上運(yùn)行、調(diào)試和工作 [3]。 (三) C/S 模型介紹 C/S 是 Client/Server 的縮寫,即客戶機(jī) /服務(wù)器技術(shù),也可以稱為 C/S 模型。很顯然, C/S 技術(shù)有以下幾個基本特點(diǎn): 1. C/S 技術(shù)一定包含兩個部分,一個作為用戶接口的前端,另一個作為共享資源接口的后端。前端被稱為客戶端,后端被稱為服務(wù)器端??蛻暨M(jìn)程包含邏輯和提供用戶接口,服務(wù)進(jìn)程充當(dāng)一個管理共享資源的軟件引擎,這些共享資源可以是數(shù)據(jù)庫,打印機(jī),調(diào)制解調(diào)器和處理機(jī)等。 2. 前端與后端的任務(wù)對計算機(jī)資源有 完全不同的要求,這些計算機(jī)資源包括:處理機(jī)速度,內(nèi)存,磁盤速度,容量,輸入輸出設(shè)備等。 3. 客戶機(jī)與服務(wù)器由于可能基于完全不同的硬件和操作系統(tǒng),所以它們之間的交流可能完全通過一套標(biāo)準(zhǔn)的已定義的 API 與 RPC。 4. 可伸縮性是 C/S 系統(tǒng)的一個很重要特性。無論是水平伸縮還是垂直伸縮都有很出色的表現(xiàn)。在這里,水平伸縮( Horizontal scaling)意味著方便地添加和刪除客戶工作站。垂直伸縮( Vertical scaling)意味著移植到一個更大更快速的服務(wù)器或多服務(wù)器時,即服務(wù)的升級和集群都會比較方便 [4]。 C/S 軟件技術(shù)是一種通用的,基于消息的技術(shù)。在本論文中,我們這樣描述 C/S,網(wǎng)絡(luò)上的一臺計算機(jī)向網(wǎng)絡(luò)上的另外一臺計算機(jī)請求一個進(jìn)程或數(shù)據(jù),如圖 1 所示。 巢湖學(xué)院畢業(yè)設(shè)計(論文) 4 圖 1: C/S 技術(shù)模型 Client/Server 結(jié)構(gòu)的優(yōu)點(diǎn)是速度快 , 缺點(diǎn)是當(dāng) Server 進(jìn)行更新時 , Client 也必需更新 [6]。 (四) 用 Java 實(shí)現(xiàn) Socket 模型 首先,我們先介紹一下 Socket 的運(yùn)行過程。通常在服務(wù)器的指定端口被綁定一個Socket,此時服務(wù)器只是處于 等待狀態(tài),監(jiān)聽客戶的連接請求。這個過程如圖 2所示。 圖 2: 服務(wù)器監(jiān)聽客戶的連接請求 服務(wù)器一旦接收到客戶機(jī)的連接請求,服務(wù)器選擇一個新的端口并綁定一個新的Socket 與客戶端建立的 Socket 對,這個過程如圖 3 所示。 對客戶機(jī)來說,連接請求被接受,客戶端的 Socket 便被成功創(chuàng)建了, Socket 通信便可以開始進(jìn)行。由于 Server 端的輸出流是服務(wù)端的輸入流, Server 端的輸入流是服務(wù)器的輸出流,反之亦然,所以, Client 與 Server 可以通過 讀寫各自 Socket 進(jìn)行交流。 下面我們來看看在 Java 里對 Socket 的運(yùn)行過程實(shí)現(xiàn)。服務(wù)器使用 ServerSocket類來處理客戶機(jī)的連接請求。當(dāng)客戶機(jī)連接到服務(wù)器所監(jiān)聽的端口時, ServerSocket服務(wù)器 客戶端 請求 網(wǎng)絡(luò) 服務(wù)器 客戶端 監(jiān)聽端口 連接請求 響應(yīng) 巢湖學(xué)院畢業(yè)設(shè)計(論文) 5 將分 圖 3:服務(wù)器處理連接請求 配一個新的 Socket 對象。這個新的 Socket 對象將連接到一些新端口,負(fù)責(zé)處理與之相對應(yīng)客戶機(jī)的通信。然后,服務(wù)器繼續(xù)監(jiān)聽 ServerSocket,處理新的客戶機(jī)連接。[13] 客戶機(jī)首先創(chuàng)建一個 Socket 對象 ,用于和服務(wù)器的通信。之后需創(chuàng)建兩個對象:DataInputStream 和 PrintStream,前者用于從 Socket 的 InputStream 輸入流中讀取數(shù)據(jù),后者則用于向 Socket 的 OutputStream 的寫數(shù)據(jù) [11]。 (五) Java 中的線程模型簡介 線程是程序中的一個執(zhí)行流。一個執(zhí)行流是由 CPU 運(yùn)行程序代碼并操縱程序的數(shù)據(jù)所形成的。因此,線程被認(rèn)為是以 CPU 為主體的行為。在 Java 中線程的模型就是一個CPU、程序代碼和數(shù)據(jù)的封裝體。 Java 中的線程模型包含三部分。 ( 1)一個虛擬的 CPU。 ( 2)該 CPU 執(zhí)行的代碼。 ( 3)代碼所操作的數(shù)據(jù)。 線程模型在 Java 中是由 類進(jìn)行定義和描述的。程序中的線程都是 Thread 的實(shí)例。因此用戶可以通過創(chuàng)建 Thread 的實(shí)例或定義并創(chuàng)建 Thread 子類的實(shí)例建立和控制自己的線程序 [7]。 (六) SQL SERVER 20xx 簡介 Sql Server 20xx 是微軟公司推出的新一代關(guān)系數(shù)據(jù)庫管理系統(tǒng),它繼承了 Sql Server 版本的優(yōu)點(diǎn),同時又增加了許多新的功能,具有功能強(qiáng)大、使用方便、可伸監(jiān)聽端口 服務(wù)器 客戶端 連接請求 端口 巢湖學(xué)院畢業(yè)設(shè)計(論文) 6 縮性強(qiáng)、與相關(guān)軟件高度集成 等特點(diǎn)。一經(jīng)推出,就受到了專業(yè)人士的好評,目前已經(jīng)成為 web 數(shù)據(jù)庫系統(tǒng)中較為常用的一個數(shù)據(jù)庫系統(tǒng)。 Sql Server 20xx 可運(yùn)行在 windows 98/NT/20xx/XP 等多種操作系統(tǒng)下 [10]。 Sql Server 20xx 的重要管理工具 : 1. 服務(wù)管理器 可以通過服務(wù)管理器啟動、停止、暫停 Sql Server 服務(wù)器的相關(guān)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1