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

正文內(nèi)容

基于java的聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-文庫(kù)吧資料

2025-06-30 23:40本頁(yè)面
  

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