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

正文內(nèi)容

基于java實(shí)現(xiàn)聊天室范文畢業(yè)論文-在線瀏覽

2025-07-16 22:34本頁面
  

【正文】 ..........26參考文獻(xiàn) ........................................................................ 27 致 謝 ........................................................................ 28 附 錄 ........................................................................ 29 附錄 A 源程序主要代碼 ......................................................... 29 第一章 緒論1.1 論文背景及課題來源隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,Inter 已經(jīng)成為人們獲取有關(guān)信息和相互交流的重要途徑之一,越來越多的機(jī)構(gòu)和組織開始利用網(wǎng)絡(luò)資源傳遞、發(fā)布、收集和管理信息?;?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)面對面的交流節(jié)省不少時(shí)間 [15]。本系統(tǒng)提供的功能便于系統(tǒng)使用雙方的信息交流,有效的提高了使用者的使用效率,縮短了使用者的使用時(shí)間 [6]。中國的一些龍頭網(wǎng)站,如 sina,有很多聊天室,供國內(nèi)外的不同的人們進(jìn)行不同話題的討論,不僅將會(huì)員發(fā)展由國內(nèi)延伸到國際,更是為提高自身的知名度提供了方便 [2]。1.3 應(yīng)解決的問題及系統(tǒng)開發(fā)意義本系統(tǒng)針對聊天室用戶的需要,建立了客戶端和服務(wù)器端。2.服務(wù)器端能夠正確的啟動(dòng),并且時(shí)刻監(jiān)視客戶端,保持與客戶端的連接。4.異常處理,對于用戶的不正確的操作系統(tǒng)應(yīng)該有提示。大型網(wǎng)站可以通過聊天室來提高自身的知名度,增加的訪問流量。該語言與 C/C++等傳統(tǒng)程序設(shè)計(jì)語言不同,具有突出的平臺(tái)獨(dú)立性,高度的可靠性和安全性特點(diǎn)。目前,Java 技術(shù)除了沿著J2SE,J2EE,J2ME 三種技術(shù)為主脈絡(luò)迅速發(fā)展外,還密切關(guān)注 Inter 環(huán)境下各種新型信息技術(shù)的發(fā)展,并能夠迅速與這些新技術(shù)融合,積極支持這些新技術(shù)應(yīng)用的開發(fā) [1]。Socket 是兩個(gè)程序進(jìn)行雙向數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)通信的端點(diǎn),一般由一個(gè)地址加上一個(gè)端口號(hào)來標(biāo)識(shí)。通過 Socket 的數(shù)據(jù)是原始字節(jié)流信息,通信雙方必須根據(jù)約定的協(xié)議對數(shù)據(jù)進(jìn)行處理與解釋 [15]。有連接方式中,通信雙方在開始時(shí)必須進(jìn)行一次連接過程,建立一條通信鏈路。無連接方式中,通信雙方不存在一個(gè)連接過程,一次網(wǎng)絡(luò) I/O 以一個(gè)數(shù)據(jù)報(bào)形式進(jìn)行,而且每次網(wǎng)絡(luò) I/O 可以和不同主機(jī)的不同進(jìn)程進(jìn)行。Java 的有連接通信采用流式 I/O 模式。只要向 Socket 的輸出流寫,一個(gè)進(jìn)程就可以通過網(wǎng)絡(luò)連接向其他進(jìn)程發(fā)送數(shù)據(jù);同樣,通過讀 Socket 的輸入流,就可以讀取傳輸來的數(shù)據(jù) [9]。第(3)步是程序員用來調(diào)用 Socket 和實(shí)現(xiàn)程序功能的關(guān)鍵步驟,其他三步在各種程序中基本相同 [5]。JBuilder 作為業(yè)界領(lǐng)先的 Java 開發(fā)工具,在集成了 Tomcat 并支持 WebLogic 的同時(shí),其套裝版更是集成了DreamweaverUltraDev,Rational Rose 等產(chǎn)品, JBuilder5 提供了可視化的集成開發(fā)工具,支持開發(fā)人員向?qū)O大地簡化了開發(fā)人員的工作,使開發(fā)更為快捷,方便 [12]。由于可伸縮性和基于組件,JBuilder 可以開發(fā)所有級(jí)別的應(yīng)用工程,從 Apple 到連接企業(yè)級(jí)的,分布式的,多層解決方案的網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用。任何 Java 編寫的程序都可以在JBuilder 上運(yùn)行、調(diào)試和工作 [3]。很顯然,C/S 技術(shù)有以下幾個(gè)基本特點(diǎn):1.C/S 技術(shù)一定包含兩個(gè)部分,一個(gè)作為用戶接口的前端,另一個(gè)作為共享資源接口的后端??蛻暨M(jìn)程包含邏輯和提供用戶接口,服務(wù)進(jìn)程充當(dāng)一個(gè)管理共享資源的軟件引擎,這些共享資源可以是數(shù)據(jù)庫,打印機(jī),調(diào)制解調(diào)器和處理機(jī)等。3.客戶機(jī)與服務(wù)器由于可能基于完全不同的硬件和操作系統(tǒng),所以它們之間的交流可能完全通過一套標(biāo)準(zhǔn)的已定義的 API 與 RPC。無論是水平伸縮還是垂直伸縮都有很出色的表現(xiàn)。垂直伸縮(Vertical scaling)意味著移植到一個(gè)更大更快速的服務(wù)器或多服務(wù)器時(shí),即服務(wù)的升級(jí)和集群都會(huì)比較方便 [4]。在本論文中,我們這樣描述 C/S,網(wǎng)絡(luò)上的一臺(tái)計(jì)算機(jī)向網(wǎng)絡(luò)上的另外一臺(tái)計(jì)算機(jī)請求一個(gè)進(jìn)程或數(shù)據(jù),如圖 1 所示。2.4 用 Java 實(shí)現(xiàn) Socket 模型首先,我們先介紹一下 Socket 的運(yùn)行過程。這個(gè)過程如圖 2 所示。對客戶機(jī)來說,連接請求被接受,客戶端的 Socket 便被成功創(chuàng)建了,Socket 通信便可以開始進(jìn)行。響應(yīng)下面我們來看看在 Java 里對 Socket 的運(yùn)行過程實(shí)現(xiàn)。當(dāng)客戶機(jī)連接到服務(wù)器所監(jiān)聽的端口時(shí),ServerSocket將分監(jiān)聽端口服務(wù)器客戶端連接請求端口圖 3:服務(wù)器處理連接請求配一個(gè)新的 Socket 對象。然后,服務(wù)器繼續(xù)監(jiān)聽 ServerSocket,處理新的客戶機(jī)連接。之后需創(chuàng)建兩個(gè)對象:DataInputStream 和 PrintStream,前者用于從 Socket 的 InputStream 輸入流中讀取數(shù)據(jù),后者則用于向 Socket 的 OutputStream 的寫數(shù)據(jù) [11]。一個(gè)執(zhí)行流是由 CPU 運(yùn)行程序代碼并操縱程序的數(shù)據(jù)所形成的。在 Java 中線程的模型就是一個(gè) CPU、程序代碼和數(shù)據(jù)的封裝體。(1)一個(gè)虛擬的 CPU。(3)代碼所操作的數(shù)據(jù)。程序中的線程都是 Thread 的實(shí)例。2.6 SQL SERVER 2022 簡介Sql Server 2022 是微軟公司推出的新一代關(guān)系數(shù)據(jù)庫管理系統(tǒng),它繼承了 Sql Server 版本的優(yōu)點(diǎn),同時(shí)又增加了許多新的功能,具有功能強(qiáng)大、使用方便、可伸縮性強(qiáng)、與相關(guān)軟件高度集成等特點(diǎn)。Sql Server 2022 可運(yùn)行在windows 98/NT/2022/XP 等多種操作系統(tǒng)下 [10]。當(dāng)操作服務(wù)器中的數(shù)據(jù)時(shí),應(yīng)該首先確保該服務(wù)器正常啟動(dòng)了相應(yīng)的服務(wù) [13]。3.查詢分析器查詢分析器是運(yùn)行、測試用戶的 Transactsql 語句、批處理和腳本的場所。SQL(structured query language,結(jié)構(gòu)化查詢語言 )起源于 IBM 的實(shí)驗(yàn)室,目前 SQL 語言已經(jīng)成為操作和檢索關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的標(biāo)準(zhǔn)語言。第三章 系統(tǒng)需求分析3.1 系統(tǒng)任務(wù)描述本系統(tǒng)是采用 Java 基于 C/S 開發(fā)的聊天室。此時(shí),如果有用戶登錄會(huì)在服務(wù)器端顯示登錄用戶的用戶名和當(dāng)前連接的用戶人數(shù),如果有用戶聊天,服務(wù)器會(huì)顯示出聊天信息。此時(shí),所有的客戶端都將失去和服務(wù)器端的連接,從而,用戶所有的聊天信息發(fā)送將不成功。在聊天室中,用戶可以和聊天室中所有的用戶發(fā)送信息,還可以接收所有用戶發(fā)送的信息,可以查看到當(dāng)前服務(wù)器的狀態(tài)。如果在運(yùn)行過程中,服務(wù)器斷開則系統(tǒng)會(huì)有提示。本系統(tǒng)具體功能需求如下:(1)聊天室管理員經(jīng)登錄界面登錄到管理界面,即系統(tǒng)的服務(wù)器端。兩類界面根據(jù)系統(tǒng)使用者的角色不同,登錄界面也有所不同。(3)系統(tǒng)的兩個(gè)主要界面都是為方便管理員和用戶操作的。用戶進(jìn)入到聊天大廳中可以聊天,查看服務(wù)器狀態(tài)。(5)用戶的聊天信息錄入,重寫,發(fā)送,接收方便,快捷。(7)顯著提高工作效率,減少人力、物力資源的投入。 系統(tǒng)數(shù)據(jù)流圖.系統(tǒng)的頂級(jí)數(shù)據(jù)流圖如圖 4 所示。情況 1:管理員啟動(dòng)服務(wù)器,管理員界面將出現(xiàn)用戶連接信息和用戶的聊天信息,用戶在登錄后可以進(jìn)入到聊天界面中。用戶的操作經(jīng)過聊天室系統(tǒng)將反饋給用戶(包括自己)和管理員。用戶的聊天信息可以在自己和其他用戶的界面上顯示。包括管理員用戶名和管理員密碼。包括用戶的用戶名、登錄密碼、真實(shí)姓名、電話、傳真、所屬地區(qū)。 Java 與 C++語言非常相近,但 Java 比 C++簡單,它拋棄了 C++中的一些不是絕對必要的功能,如頭文件、預(yù)處理文件、指針、結(jié)構(gòu)、運(yùn)算符重載、多重繼承以及自動(dòng)強(qiáng)迫同型。這使程序設(shè)計(jì)更加簡便,同時(shí)減少了出錯(cuò)的可能。對象中封裝了它的狀態(tài)變量和方法,很好地實(shí)現(xiàn)了模塊化和信息隱藏;而類則提供了一類對象的原型,通過繼承和重載機(jī)制,子類可以使用或重新定義父類或超類所提供的方法,從而既實(shí)現(xiàn)了代碼的復(fù)用,又提供了一種動(dòng)態(tài)的解決方案。在 Java 中,如果不創(chuàng)建新類就無法創(chuàng)建程序,Java 程序在運(yùn)行時(shí)必須先創(chuàng)建一個(gè)類的實(shí)例,然后才能提交運(yùn)行。 Java 支持界面,界面允許程序員定義方法但又不立即實(shí)現(xiàn),一個(gè)類可以實(shí)現(xiàn)多個(gè)界面,利用界面可以得到多重繼承的許多優(yōu)點(diǎn)而又沒有多重繼承的問題。在多線程機(jī)制中,不同的線程處理不同的任務(wù),他們之間互不干涉,不會(huì)由于一處等待影響其他部分,這樣容易實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互操作。多線程保證了較高的執(zhí)行效率 [5]。從開發(fā)環(huán)境來看 ,JBuilder5 是一組全面高效率工具,使用 Java 編程語言創(chuàng)建可伸縮的,高性能的和具有不依賴于平臺(tái)性能的應(yīng)用程序。其他功能還有:對 JAVA 的支持,WEB 應(yīng)用開發(fā),Enterprise JavaBeans(EJB),JMS 和 EAR向?qū)?,團(tuán)隊(duì)開發(fā),編譯器的增強(qiáng)功能,工程屬性,配置 JDK,部署,IDE 的增強(qiáng)功能,語言的支持 [1]。雖然對 Java 的網(wǎng)絡(luò)編程不是很熟悉,但是通過到圖書館查閱書籍和網(wǎng)上收集資料,現(xiàn)在對 Java 網(wǎng)絡(luò)編程有了一定的了解。系統(tǒng)設(shè)計(jì)階段的主要任務(wù)是:在系統(tǒng)分析提出的邏輯模型的基礎(chǔ)上,科學(xué)合理地進(jìn)行物理模型設(shè)計(jì)。總體設(shè)計(jì)包括子系統(tǒng)的劃分和模塊設(shè)計(jì),詳細(xì)設(shè)計(jì)包括各模塊的詳細(xì)描述、輸入輸出設(shè)計(jì)等。 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)是用 Java 語言基于 C/S 開發(fā)設(shè)計(jì)的,其核心的 Socket 技術(shù)決定了該系統(tǒng)的安全性和穩(wěn)定性,從而保證了本系統(tǒng)有較強(qiáng)的使用性。聊天室設(shè)計(jì)圖如圖 10 所示??蛻粝蚍?wù)器請求連接后,客戶代理的 Socket 字段便被實(shí)例化,當(dāng)用戶登錄后,客戶代理的用戶名字段被實(shí)例化,一個(gè)完整的客戶代理生成了。對服務(wù)器端來說,Socket 是可見的,服務(wù)器通過用戶名操作 Socket,進(jìn)而回應(yīng)客戶端的請求。因此,可將系統(tǒng)分成兩大模塊:服務(wù)器端模塊和客戶端模塊。首先,管理員登錄是指管理員通過輸入用戶名和密碼進(jìn)入到管理員界面,即系統(tǒng)的服務(wù)器端。客戶端模塊介紹:該模塊分為用戶登錄和聊天室兩個(gè)子模塊。聊天室模塊是指系統(tǒng)聊天室所具有的基本功能,如發(fā)送、接收信息,查看當(dāng)前和服務(wù)器連接狀態(tài),顯示發(fā)送和接收的信息。首先,管理員在登錄界面中輸入管理員用戶名和密碼,并向系統(tǒng)發(fā)送。如果在數(shù)據(jù)庫中沒有相同信息,則系統(tǒng)提示錯(cuò)誤,并返回登錄界面。首先,管理員通過登錄界面進(jìn)入到管理員界面中。用戶登錄模塊流程圖如圖 14 所示:下面對用戶登錄程序流程圖做簡要敘述。如果服務(wù)器沒圖 15:聊天室模塊流程圖圖 14: 用戶登錄模塊流程圖開始輸入用戶名與密碼查詢數(shù)據(jù)庫是否有這條記錄?進(jìn)入聊天室界面提示用戶名或密碼錯(cuò)誤結(jié)束服務(wù)器端顯示用戶開始結(jié)束身份驗(yàn)證聊天室查看連接狀態(tài)接收信息發(fā)送信息提示用戶名或密碼錯(cuò)誤正確錯(cuò)誤查看聊天信息有啟動(dòng),則用戶可以進(jìn)入到聊天室,但是使用不了聊天室??梢詫α奶焓页绦蛄鞒虉D做這樣的簡要敘述:用戶在登錄界面中輸入用戶名和密碼進(jìn)入到聊天室中。第五章 編碼與實(shí)現(xiàn) 系統(tǒng)主要模塊代碼 啟動(dòng)、停止服務(wù)器class Serverchat extends Thread{public Serverchat(){ try{intPort=(textPort)。(()++())。 ssLive=()。 }catch(Exception e){ display(服務(wù)器已關(guān)閉!)。}public void run(){while(true){ try{clientSk=()。} } catch(IOException e){display(無法監(jiān)聽!)。do{ Connect c=new Connect(clientSk)。if(checkName(c)){activeConnects++。disconnect(c)。 break。 }} } 客戶端連接服務(wù)器class Clientchat extends Thread{public Clientchat(){try{loginName=()。ipAdd=new String(())。fromServer=newBufferedReader(new InputStreamReader(()))。StringBuffer info=new StringBuffer(INFO:)。((userInfo))。address=()。display(connect successfully!++())。}()。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1