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

正文內(nèi)容

基于cs模型的java聊天室_畢業(yè)設(shè)計(jì)-wenkub

2023-07-09 06:28:35 本頁面
 

【正文】 器 企業(yè)管理器提供了一種圖形化界面來操作數(shù)據(jù)庫對(duì)象,在該界面中可以進(jìn)行數(shù)據(jù)庫、表 等數(shù)據(jù)對(duì)象的創(chuàng)建、查詢、修改、刪除等操作,可以完成 Sql Server 20xx 中絕大多數(shù)的管理工作。一經(jīng)推出,就受到了專業(yè)人士的好評(píng),目前已經(jīng)成為 web 數(shù)據(jù)庫系統(tǒng)中較為常用的一個(gè)數(shù)據(jù)庫系統(tǒng)。 線程模型在 Java 中是由 類進(jìn)行定義和描述的。 Java 中的線程模型包含三部分。 (五) Java 中的線程模型簡介 線程是程序中的一個(gè)執(zhí)行流。這個(gè)新的 Socket 對(duì)象將連接到一些新端口,負(fù)責(zé)處理與之相對(duì)應(yīng)客戶機(jī)的通信。由于 Server 端的輸出流是服務(wù)端的輸入流, Server 端的輸入流是服務(wù)器的輸出流,反之亦然,所以, Client 與 Server 可以通過 讀寫各自 Socket 進(jìn)行交流。通常在服務(wù)器的指定端口被綁定一個(gè)Socket,此時(shí)服務(wù)器只是處于 等待狀態(tài),監(jiān)聽客戶的連接請求。 C/S 軟件技術(shù)是一種通用的,基于消息的技術(shù)。 4. 可伸縮性是 C/S 系統(tǒng)的一個(gè)很重要特性。前端被稱為客戶端,后端被稱為服務(wù)器端。 JBuilder5 環(huán)境是用純 Java 編寫 。 (二) JBuilder5 介紹 JBuilder5 是美國 Borland 公司最新推出的遵循 SUN 公司 J2EE 標(biāo)準(zhǔn)的集成開發(fā)工具,是目前使用最廣泛的 Java 開發(fā)工具之一。 Socket 是兩個(gè)進(jìn)程間通信鏈的端點(diǎn),每個(gè)Socket 有兩個(gè)流:一個(gè)輸入流和一個(gè)輸出流。通信鏈路提供了可靠的,全雙工的字節(jié)流服務(wù)。每個(gè)服務(wù)程序都在一個(gè)眾所周知的端口上提供服務(wù),而想使用服務(wù)的客戶端程序則需要連接該端口。 1999年 6 月 SUN 公司重新定義了 Java 技術(shù)的結(jié)構(gòu),將 Java2 平臺(tái)分為三個(gè)版本:標(biāo)準(zhǔn)版( J2SE),企業(yè)版( J2EE)和微縮版( J2ME)。 基于 C/S 的 Java 聊天室系統(tǒng)它的開發(fā)意義在于為人們之間相互交流提供了一個(gè)快捷、方便的應(yīng)用平臺(tái)。主要解決的問題包括: 1. 服務(wù)器端和客戶端要實(shí)現(xiàn)界面化,并且界面盡量人性化。 (二) 本課題在國內(nèi)外的發(fā)展?fàn)顩r 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,多數(shù)網(wǎng)站紛紛利用自己的網(wǎng)絡(luò)資源建立聊天室,并為客戶提供各種各樣 便捷的服務(wù)。這對(duì)各種類型的網(wǎng)絡(luò)提供一次很大的挑戰(zhàn)與機(jī)遇,特別是通過網(wǎng)絡(luò)進(jìn)行信息交互的這種活動(dòng),更加使網(wǎng)絡(luò)的經(jīng)營方式充滿了活力和機(jī)動(dòng)性 [5]。使人們不僅僅滿足于言語上的交流,還可以分享彼此的珍藏的圖片,看到對(duì)方的面容。于是,人們不得不使用 Inter 這個(gè)可以把全世界所有的人短時(shí)間內(nèi)都聯(lián)系到一起的新生事物,所以網(wǎng)上聊天室就誕生了。但與其他語言不同, Java 語言天生具備網(wǎng)絡(luò)開發(fā)的優(yōu)越性,使用 Java 可以快速開發(fā)安全的基于網(wǎng)絡(luò)的服務(wù)和應(yīng)用程序。 在網(wǎng)絡(luò)飛速發(fā)展的今天,各種各樣的的交流變的非常重要。剛開始的聊天室的功能很簡單,就是單純的文字交流。這些新功能都受到了大家的一致好評(píng)。 基于 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. 及時(shí)性:通過網(wǎng)絡(luò)的連接,系統(tǒng)雙方的交流可以在短期內(nèi)進(jìn)行,相比與傳統(tǒng)面對(duì)面的交流節(jié)省不少時(shí)間 [15]。中國的一些龍頭網(wǎng)站,如 sina,有很多聊天室,供國內(nèi)外的不同的人們進(jìn)行不同話題的討論,不僅將會(huì)員發(fā)展由國內(nèi)延伸到國際,更是為提高自身的知名度提供了方便 [2]。 2. 服務(wù)器端能夠正確的啟動(dòng),并且時(shí)刻監(jiān)視客戶端,保持與客戶端的連接。大型網(wǎng)站可以通過聊天室來提高自身的知名度,增加的訪問流量。目前, Java 技術(shù)除了沿著 J2SE, J2EE,J2ME 三種技術(shù)為主脈絡(luò)迅速發(fā)展外,還密切關(guān)注 Inter 環(huán)境下各種新型信息技術(shù)的發(fā)展,并能夠迅速與這些新技術(shù)融合,積極支持這些新技術(shù)應(yīng)用的開發(fā) [1]。通過 Socket 的數(shù)據(jù)是原始字節(jié)流信息,通信雙方必須根據(jù)約定的協(xié)議對(duì)數(shù)據(jù)進(jìn)行處理與解釋 [15]。無連接方 式中,通信雙方不存在一個(gè)連接過程,一次網(wǎng)絡(luò) I/O 以一個(gè)數(shù)據(jù)報(bào)形式進(jìn)行,而且每次網(wǎng)絡(luò) I/O 可以和不同主機(jī)的不同進(jìn)程進(jìn)行。只要向 Socket 的輸出流寫,一個(gè)進(jìn)程就可以通過網(wǎng)絡(luò)連接向其他進(jìn)程發(fā)送數(shù)據(jù);同樣,通過讀 Socket 的輸入流,就可以讀取傳輸來的數(shù)據(jù) [9]。 JBuilder 作為業(yè)界領(lǐng)先的 Java 開發(fā)工具,在集成了 Tomcat 并支持 WebLogic 的同 時(shí),其套裝版更是集成了 DreamweaverUltraDev,Rational Rose 等產(chǎn)品, JBuilder5 提供了可視化的集成開發(fā)工具,支持開發(fā)人員向?qū)O大地簡化了開發(fā)人員的工作,使開發(fā)更為快捷,方便 [12]。任何 Java 編寫的程序都可以在 JBuilder 上運(yùn)行、調(diào)試和工作 [3]??蛻暨M(jìn)程包含邏輯和提供用戶接口,服務(wù)進(jìn)程充當(dāng)一個(gè)管理共享資源的軟件引擎,這些共享資源可以是數(shù)據(jù)庫,打印機(jī),調(diào)制解調(diào)器和處理機(jī)等。無論是水平伸縮還是垂直伸縮都有很出色的表現(xiàn)。在本論文中,我們這樣描述 C/S,網(wǎng)絡(luò)上的一臺(tái)計(jì)算機(jī)向網(wǎng)絡(luò)上的另外一臺(tái)計(jì)算機(jī)請求一個(gè)進(jìn)程或數(shù)據(jù),如圖 1 所示。這個(gè)過程如圖 2所示。 下面我們來看看在 Java 里對(duì) Socket 的運(yùn)行過程實(shí)現(xiàn)。然后,服務(wù)器繼續(xù)監(jiān)聽 ServerSocket,處理新的客戶機(jī)連接。一個(gè)執(zhí)行流是由 CPU 運(yùn)行程序代碼并操縱程序的數(shù)據(jù)所形成的。 ( 1)一個(gè)虛擬的 CPU。程序中的線程都是 Thread 的實(shí)例。 Sql Server 20xx 可運(yùn)行在 windows 98/NT/20xx/XP 等多種操作系統(tǒng)下 [10]。 3. 查詢分析器 查詢分析器是運(yùn)行、測試用戶的 Transactsql 語句、批處理和腳本的場所。 巢湖學(xué)院畢業(yè)設(shè)計(jì)(論文) 7 第 三 章 系統(tǒng)需求分析 (一) 系統(tǒng)任務(wù)描述 本系統(tǒng)是采用 Java 基于 C/S 開發(fā)的聊天室。此時(shí),所有的客戶端都將失去和服務(wù)器端的連接,從而,用戶所有的聊天信息發(fā)送將不成功 。如果在運(yùn)行過程中,服務(wù)器斷開則系統(tǒng)會(huì)有提示。兩類界面根據(jù)系統(tǒng)使用者的角色不同,登錄界面也有所不同。用戶進(jìn)入到聊天大廳中可以聊天,查看服務(wù)器狀態(tài)。 ( 7)顯著提高工作效率,減少人力、物力資源的投入。情況 1:管理員啟動(dòng)服務(wù)器,管理員界面將出現(xiàn)用戶連接信息和用戶的聊天信息,用戶在登錄后可以進(jìn)入到聊天界面中。用戶的聊天信息可以在自己和其他用戶的界面上顯示。包括用戶的用戶名、登錄密碼、真實(shí)姓名、電話、傳真、所屬地區(qū)。這使程序設(shè)計(jì)更加簡便,同時(shí)減少了出錯(cuò)的可能。在 Java 中,如果不創(chuàng)建新類就無法創(chuàng)建程序, Java 程序在運(yùn)行時(shí)必須先創(chuàng)建一個(gè)類的實(shí)例,然后才能提交運(yùn)行。在多線程機(jī)制中,不同的線程處理不同的任務(wù),他們之間互不干涉,不會(huì)由于一處等待 影響 其他部分,這樣容易實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互操作。 從開發(fā)環(huán)境來看 , JBuilder5 是一組全面高效率工具,使用 Java 編程語言創(chuàng)建可伸縮的,高性能的和具有不依賴于平臺(tái)性能的應(yīng)用程序。雖然對(duì) Java 的網(wǎng)絡(luò)編程不是很熟悉,但是通過到圖書館查閱書籍和網(wǎng)上收集資料,現(xiàn)在對(duì) Java 網(wǎng)絡(luò)編程有了一定的了解??傮w設(shè)計(jì)包括子系統(tǒng)的劃分和模塊設(shè)計(jì),詳細(xì)設(shè)計(jì)包括各模塊的詳細(xì)描述、輸入輸出設(shè)計(jì)等。聊天室設(shè)計(jì)圖如圖 10 所示。 對(duì)服務(wù)器端 來說, Socket 是可見的,服務(wù)器通過用戶名操作 Socket,進(jìn)而回應(yīng)客戶端的請求。首先,管理員登錄是指管理員通過輸入用戶名和密碼進(jìn)入到管理員界面,即系統(tǒng)的服務(wù)器 端。聊天室模塊是指系統(tǒng)聊天室所具有的基本功能,如發(fā)送、接收信息,查看當(dāng)前和服務(wù)器連接狀態(tài),顯示發(fā)送和接收的信息。如果在數(shù)據(jù)庫中沒有相同信息,則系統(tǒng)提示錯(cuò)誤,并返回登錄界面。用戶登錄模塊流程圖如圖 14所示: 管理員 身份驗(yàn)證 管理員界面 關(guān)閉服務(wù)器 啟動(dòng)服務(wù)器 查看在線用戶人數(shù) 開始 結(jié)束 提示用戶名或密碼錯(cuò) 誤 正確 錯(cuò)誤 查看聊天信息 巢湖學(xué)院畢業(yè)設(shè)計(jì)(論文) 16 下面對(duì)用戶登錄程序流程圖做簡要敘述。 可以 對(duì)聊天室程序流程圖做 這樣的 簡要敘述 : 用戶在登錄界面中輸入用戶名和密碼進(jìn)入到聊天室中。 (()++())。 } catch(Exception e){ display(服務(wù)器已關(guān)閉! )。} } catch(IOException e){display(無法監(jiān) 聽! )。 if(checkName(c)){ activeConnects++。 break。 ipAdd=new String(())。 StringBuffer info=new StringBuffer(INFO:)。 address=()。} ()。 (label1)。 4. 服務(wù)器轉(zhuǎn)發(fā)信息 public void run(){ try{ while(true){ for(int i=0。 ClientName=(String)(i)。 broadcastInfor=ClientName++string。 }catch(InterruptedException ex){} } }catch(Exception e){} } } 首先,服務(wù)器端得到每個(gè)連接上的客戶端信息棧,讀取每個(gè)連接線程信息棧并把信息發(fā)送出去。 String constr=” 當(dāng)前在線人數(shù)為 + activeConnects”。i++){ Connect c=(Connect)(i)。 巢湖學(xué)院畢業(yè)設(shè)計(jì)(論文) 22 圖 16: 管理員登錄界面 進(jìn)入到服務(wù)器端后啟動(dòng)服務(wù)器。 圖 18: 系統(tǒng)客戶端 若在運(yùn)行過程中有用戶退出客戶端,則服務(wù)器端會(huì)有該用戶已退出的提示,并且當(dāng)前在線人數(shù)會(huì)自動(dòng)減 1,在此為 user2 退出 。本課題的完成,綜合運(yùn)用了大學(xué)的專業(yè)課知識(shí),特別是軟件工程、 Java 等與系統(tǒng)設(shè)計(jì)有緊密聯(lián)系的知識(shí),并加強(qiáng)了對(duì)實(shí)際問題的分析和解決能力,做到理論聯(lián)系實(shí)際。這些在聊天室中都是必須具有的功能。其功能基本符合系統(tǒng)開發(fā)前所撰寫的用戶需求分析的要求,能夠初步完成基于 C/S 的 Java 聊天室的相關(guān)功能。從論文的選題到定稿, 他 都進(jìn)行了全面、具體、精心的指導(dǎo),并為我提供了良好的條件。 其次,我要感謝大學(xué)四年來向我授過課的 老 師, 他們 讓我學(xué)到了很多寶貴的知識(shí)。 import .*。 TextArea textArea。//默認(rèn)端口號(hào) Thread chatAcceptThread。//記錄連接的線程 ClientsInfor。 } ServerListen()。 button1=new Button(退出 )。 (button1)。 (sPanel,)。 } public void processMsg(String str){// (str)。 } processMsg(Server listening on port:+DEFAULT_PORT)。//啟動(dòng)接受連接的線程 ()。 try{ while(true){ Socket ClientSock=()。 i++。 } }catch(IOException e){ processMsg(())。 } } public static void main(String[] args){ ChatRoomServer chat=new ChatRoomServer()。 ChatRoomServer chatFrame。// public CommunicateThread(Socket Sock,ChatRoomServer cFrame,int index){ ClientSock=Sock。 try{ in=
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1