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

正文內(nèi)容

畢業(yè)論文-基于java的聊天系統(tǒng)的設(shè)計與實現(xiàn)-在線瀏覽

2025-08-06 21:20本頁面
  

【正文】 ,到 1994 年秋天,完成了WebRunner 的開發(fā)工作。 WebRunner 改名為 HotJava,并于 1995 年 5 月 23 日發(fā)表后,在產(chǎn)業(yè)界引起了巨大的轟動, Java 的地位也隨之而得到肯定。 Java 帶來的影響 Java 雖出現(xiàn)的時間不長,但已被業(yè)界接受, IBM、 Apple、 DEC、 Adobe、SiliconGraphics、 HP、 Oracle、 Toshiba、 Netscap 和 Microsoft 等大公司已經(jīng)購買了 Java 的許可證。 另外,眾多的軟件開發(fā)商也開發(fā)了許多支持 Java 的軟件產(chǎn)品。數(shù)據(jù)庫廠商如 Illustra,Sybase,Versant,Oracle 都在開發(fā)支持 HTML 和 Java 的 CGI( CommonGatewayInterface)。 Intra 正在成為企業(yè)信息系統(tǒng)最佳的解決方案。用戶不管使用何種類型的機(jī)器和操作系統(tǒng),界面是統(tǒng)一的 Web 瀏覽器,而數(shù)據(jù)庫、 Web 頁面、應(yīng)用程序(用 Java 編的 applet)則存在 WWW 服務(wù)器上。 我們可以設(shè)想未來的計算方式,每個 HomePage 的實質(zhì)是一個多媒體應(yīng)用程序,這些程序用 Java 來開發(fā)。 Java 應(yīng)用程序之間既可以交換消息,也可以交換程序(一個 Java 的小應(yīng)用程序 applet)。 Java 的出現(xiàn)是計算機(jī)信息交換的一個重要里程碑。小應(yīng)用程序是什么 ?它是一個對象,由一組屬性和方法構(gòu)成,是一個可執(zhí)行的實體;不僅有數(shù)據(jù)的狀態(tài),而且有 定義在數(shù)據(jù)上的操作。 隨著 Inter 的崛起、 Java 的誕生,巨型的、臃腫的應(yīng)用軟件開始向小型化發(fā)展,由眾多“生活”在 Inter 上的小應(yīng)用程序( applet)相互協(xié)作完成信息的處理與傳遞。隨著 Inter的發(fā)展,軟件必然是面向“大眾”,而不是“少數(shù)人”的奢侈品,薄利多銷將是網(wǎng)絡(luò)應(yīng)用軟件的重要特點。 Java 連同Inter, WWW 正在改變應(yīng)用軟件的開發(fā)和使用方式,一切都要圍繞著網(wǎng)絡(luò),圍繞著平臺無關(guān)。信息的價值在于使用和共享, Inter 和 Web 是信息的使用和共享最快捷、最便宜的方式, Word 將演化成為 Web寫作工具, Excel 則將演化成 Web 上的電子表格。 Java語言是一種面向?qū)ο蟮恼Z言 ,它通過提供最基本的方法來完成指定的任務(wù),只需理解一些基本的概念 ,就可以用它編寫出適合于各種情況的應(yīng)用程序。另外, Java 也適合于在小型機(jī)上運行,它的基本解釋器及類的支持只有 40KB 左右,加上標(biāo)準(zhǔn)類庫和線程的支持也只有 215KB 左右。 Java 語言的設(shè)計集中于對象及其接口,它提供了簡單的類機(jī)制以及動 態(tài)的接口模型。 Java 是面向網(wǎng)絡(luò)的語言。 Java 在編譯和運行程序時,都要對可能出現(xiàn)的問題進(jìn)行檢查,以消除錯誤的產(chǎn)生。通過集成的面向?qū)ο蟮睦馓幚頇C(jī)制,在編譯時, Java 提示出可能出現(xiàn)但未被處理的例外,幫助程序員正確地進(jìn)行選擇以防止系統(tǒng)的崩潰。 用于網(wǎng)絡(luò)、分布環(huán)境下的 Java 必須要防止病毒的入侵。 Java 解釋器生成與體系結(jié)構(gòu)無關(guān)的字節(jié)碼指令,只要安裝了 Java 運行時系統(tǒng),Java 程序就可在任意的處理器上運行。 與平臺無關(guān)的特性使 Java 程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器。另外, Java 編譯器是由 Java 語言實現(xiàn)的, Java 運行時系統(tǒng)由標(biāo)準(zhǔn) C 實現(xiàn),這使得 Java 系統(tǒng)本身也具有可移植性。字節(jié)碼本身攜帶了許多編譯時信 息,使得連接過程更加簡單。 多線程機(jī)制使應(yīng)用程序能夠并行執(zhí)行,而且同步機(jī)制保證了對共享數(shù)據(jù)的正確操作。 Java 的設(shè)計使它適合于一個不斷發(fā)展的環(huán)境。并且 Java 通過接口來支持多重繼承,使之比嚴(yán)格的類繼承具有更靈活的方式和擴(kuò)展性。 Applet是 Java的小應(yīng) 用程序 ,它是動態(tài)、安全、跨平臺的網(wǎng)絡(luò)應(yīng)用程序。網(wǎng)絡(luò)用戶訪問服務(wù)器的 Applet時 ,這些 Applet 從網(wǎng)絡(luò)上進(jìn)行傳輸 ,然后在支持 Java的瀏覽器中運行。雖然 Applet 可以和圖像、聲音、動畫等一樣從網(wǎng)絡(luò)上下載 ,但它并不同于這些多媒體的文件格式 ,它可以接收用戶的輸入 ,動態(tài) 地進(jìn)行改變 ,而不僅僅是動畫的顯示和聲音的播放。 、多線程處理、例外處理、數(shù)學(xué)函 數(shù)處理等 ,可以用它簡單地實現(xiàn) Java 程序的運行平臺。 流 模型來實現(xiàn)所有 格式的 I/O,包括文件系統(tǒng)、 網(wǎng)絡(luò)、輸入 Socket 編程。 Inter 的 TCP/IP 協(xié)議 ,提供了與 Inter 的接口。 (四) Java 和 C、 C++對于變量聲明、參數(shù)傳遞、操作符、流控制等 ,Java 使用了和 C、 C++ 相同的傳統(tǒng) ,使得熟悉 C、 C++的程序員能很方便地進(jìn)行編程。 Java程序中 ,不能在所有類之外定義全局變量 ,只能通過在一個類中定 義公用、靜態(tài)的變量來實現(xiàn)一個全局變量。 } 在類 GlobalVar 中定義變量 global_var 為 public static,使得其它類 可以訪問和修改該變量。而在 C和 C++中 ,依賴 于不加封裝 的全局變量常常造成系統(tǒng)的崩潰。 指針是 C、 C++中最靈活 ,也是最容易產(chǎn)生錯誤的數(shù)據(jù)類型。而Java 對指針進(jìn)行完全的控制 ,程序員不 能直接進(jìn)行任何指針操作 ,例如 把整數(shù)轉(zhuǎn)化為指針 ,或者通過指針釋放某一內(nèi)存地址等。 在 C中 ,程序員通過庫函數(shù) malloc()和 free()來分配和釋放內(nèi)存 ,C++ 中則通過運算符 new 和 delete 來分配和釋放內(nèi)存。同樣 ,忘記釋放不再使用的內(nèi)存塊也 會逐漸耗盡系統(tǒng)資源。通過 new 得到對象的處理權(quán) ,而實際分配給對象的內(nèi)存可能 隨程序運行而改 變 ,Java 對此自動地進(jìn)行管理并且進(jìn)行垃圾收集 ,有效防止了由 于程序員的誤操作而導(dǎo)致的錯誤 ,并且更好地利用了系統(tǒng)資源。 在 C、 C++中 ,可以通過指針進(jìn)行任意的類型轉(zhuǎn)換 ,常常帶來不安全性 , 而 Java中 ,運行時系統(tǒng)對對象的處理要進(jìn)行類型相容性檢查 ,以防止不安全的 轉(zhuǎn)換。而 Java 不支持頭文件 ,類成員的類型和訪 問權(quán)限都封裝在一個類中 ,運行時系統(tǒng)對訪問進(jìn)行控制 ,防止對私有成員的操作。 C、 C++中的結(jié)構(gòu) 和聯(lián)合中所有成員均為公有,這就帶來了安全性問題。 C、 C++中用宏定義來實現(xiàn)的代碼給程序的可讀性帶來了困難。例如 Java 程序可以每隔一定時間讀取某結(jié)點提供的最新數(shù)據(jù),并以圖表的形式顯示出來。下面列舉一個 Java從網(wǎng)絡(luò)上獲取圖象的的方法以說明。 Image image。 } catch(Exception e){ (“Can’t open the URL “)。 Image image。 }catch (MalformedURLException e) { (“Can’t open the URL “)。 前一種格式用“ new URL(url)”生成 URL 對象, 并直接作為 getImage 的參數(shù),后一種格式先用“ new URL(url)”生成一個 URL 對象,再傳給 getImage,兩種格式本質(zhì)上是一樣的。 JavaBeans 技術(shù) 什么是 JavaBeans? JavaBeans 就是 Java 的可重用組件技術(shù)。 JSP 通過 JavaBeans 實現(xiàn)了同樣的功能擴(kuò)充。這種支持不僅能縮短開發(fā)時間(可以直接利用經(jīng)測試和可信任的已有組件,避免了重復(fù)開發(fā)),也為 JSP 應(yīng)用帶來了更多的可伸縮性。在實際的 JSP 開發(fā)過程中,讀者將會發(fā)現(xiàn),和傳統(tǒng)的 ASP 或 PHP 頁面相比, JSP頁面將會是非常簡潔的,由于 JavaBeans 開發(fā)起來簡單,又可以利用 Java 語言的強(qiáng)大功能,許多動態(tài)頁面處理過程實際上被封 裝 到了 JavaBeans 中。 TCP/IP 協(xié)議的體系結(jié)構(gòu)共有四個層次 ,即應(yīng)用層、傳輸層、網(wǎng)絡(luò)互聯(lián)層和網(wǎng)絡(luò)接口層。第二,提供不可靠的無連接的服務(wù)。 TCP 協(xié)議的功能:差錯控制 —— 可靠性、面向連接、分段( Segment)、端口號。 TCP/IP 協(xié)議具有以下特點: 協(xié)議標(biāo)準(zhǔn)具有開放性,其獨立于特定的計算機(jī)硬件及操作系統(tǒng),可以免費使用。 實現(xiàn)了高層協(xié)議的標(biāo)準(zhǔn)化,能為用戶提供多種可靠的服務(wù)。接收方 TCP 在接收到數(shù)據(jù)后通知上層應(yīng)用程序, TCP 將保證接收數(shù)據(jù)的正確性。 TCP 只是調(diào)用 IP 接口,向 TCP 提供所有 TCP 需要的服務(wù)。端口實際是一個 16 位長的 地址,他的范圍是 0~ 65535 之間,其中 0~ 1023 是熟知端口,主要是給提供服務(wù)的應(yīng)用程序使用,這些端口是所有應(yīng)用進(jìn)程都只道的, 1024~ 65535 為一般端口,也稱動態(tài)端口、連接端口,用來隨時分配要求通信的個客戶端應(yīng)用程序。 Socket 的簡介 Socket,簡稱套接字,用于實現(xiàn)網(wǎng)絡(luò)上客戶和服務(wù)器之間的連接。 具體的說:一個服務(wù)器應(yīng)用程序一般偵聽一個特定的端口等待客戶端的連接請求,當(dāng)一個連接請求到達(dá)時,客戶端和服武器端建立一個通信連接,在連接過程中,客戶端被分配一個本地端口與一個 socket 建立連接,客戶端通過寫 socket 來通知服務(wù)器,以讀 socket 中的信息,類似的服務(wù)器也獲得一個本地端口,它需要一個新的端口號來偵聽原始端口上的 其他連接請求。 Socket 程序的工作過程: 建立 Socket 連接:在通信開始之前由通信雙方確認(rèn)身份,建立一條專用的虛擬連接通道。 關(guān)閉:通信結(jié)束時,再將所建的虛擬連接拆除。 第三此握手:源端機(jī)收到含有兩次初始序列號的應(yīng)答后,在向目的主機(jī)發(fā)送一個帶有兩次連接的序列號的確認(rèn)。因此開發(fā)網(wǎng)絡(luò)聊天是相當(dāng)有必要,而且在網(wǎng)站內(nèi)增加聊天功能,它不僅可以提高網(wǎng)站的訪問量,同時可以留著訪客,更重要的是讓訪客透過聊天室實時的互相交流。 需求分析 聊天系統(tǒng)不外乎兩個方面,服務(wù)器端和客戶端。首先來看一下服務(wù)器端的任務(wù): 1.服務(wù)器端應(yīng)當(dāng)建立一個 ServerSocket,并且不斷進(jìn)行偵聽是否有客戶端連接或者斷開連接 (包括判斷沒有響應(yīng)的連接超時 )。 以上就是服務(wù)器端最主要的兩個任務(wù)。 客戶端應(yīng)該完成的工作包括: 1.與服務(wù)器端建立通信通道,向服務(wù)器端發(fā)送信息。 相對服務(wù)器而言,客戶端的任務(wù)更加簡單,有了以上的簡單分析,可以知道,解決上述四個問題,即完成了該聊天系統(tǒng)的核心。因此,在設(shè)計聊天系統(tǒng)的過程中,必須要考慮好以下幾個設(shè)計要點: 實現(xiàn)思想 在 Inter 上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應(yīng),使用者通過客戶端程序登錄到服務(wù)器,就可以與登錄在同一服務(wù)器上的用戶交談,這是一個面向連接的通信過程。 服務(wù)器端工作流程 服務(wù)器端通過 socket()系統(tǒng)調(diào)用創(chuàng)建一個 Socket數(shù)組后 (即設(shè)定了接受連接客戶 的最大數(shù)目 ),與指定的本地端口綁定 bind(),就可以在端口進(jìn)行偵聽 listen()。然后登錄成功的客戶就可以在服務(wù)器上聊天了。 3 .2 聊天系統(tǒng)的設(shè)計步驟及功能模塊劃分 聊天系統(tǒng)工作原理圖 聊天系統(tǒng)各功能模塊 ( 1) 服務(wù)器程序模塊 服務(wù)器與客戶間通過套接口 Socket(TCP)連接。服務(wù)器采用多線程以滿足多用戶的請求,并通過創(chuàng)建一個ServerSocket 對象來監(jiān)聽來自客戶的連接請求,默認(rèn)端口為 9527,然后無限循環(huán)調(diào)用 accept()方法接受客戶程序的連接。 import 。 import 。 import .*。 import .*。 private Socket s。 private ObjectInputStream ois。 private OnlineUser onlineUser。 dao=。 } pub
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1