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

正文內(nèi)容

基于java的聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-21 23:40 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 算分離出來(lái)成為獨(dú)立可重復(fù)利用的模塊。JSP通過(guò)JavaBeans實(shí)現(xiàn)了同樣的功能擴(kuò)充。JSP對(duì)于在Web應(yīng)用中集成JavaBeans 組件提供了完善的支持。這種支持不僅能縮短開(kāi)發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開(kāi)發(fā)),也為JSP應(yīng)用帶來(lái)了更多的可伸縮性。 JavaBeans組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互以及數(shù)據(jù)提取等。在實(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中。 IP/TCP協(xié)議常識(shí)(1)IP、TCP協(xié)議的特點(diǎn):TCP/IP(Transmission Control Protocol/Internet Protocol)是傳輸控制協(xié)議/網(wǎng)際協(xié)議的縮寫(xiě), TCP/IP是當(dāng)今網(wǎng)絡(luò)互聯(lián)的核心協(xié)議。TCP/IP協(xié)議的體系結(jié)構(gòu)共有四個(gè)層次,即應(yīng)用層、傳輸層、網(wǎng)絡(luò)互聯(lián)層和網(wǎng)絡(luò)接口層。IP協(xié)議的作用:第一,它是網(wǎng)絡(luò)層的協(xié)議,提供互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)慕y(tǒng)一格式。第二,提供不可靠的無(wú)連接的服務(wù)。第三,定義了互聯(lián)網(wǎng)上的傳輸數(shù)據(jù)的基本單元,提供了供路由選擇的信息,沒(méi)有差錯(cuò)校驗(yàn)和處理的機(jī)制。TCP協(xié)議的功能:差錯(cuò)控制——可靠性、面向連接、分段(Segment)、端口號(hào)。TCP是傳輸控制協(xié)議,是面向連接的提供了一種可靠的傳輸服務(wù),它用三次握手和滑動(dòng)窗口機(jī)制來(lái)保證傳輸?shù)目煽啃裕斑M(jìn)行流量控制。 TCP/IP協(xié)議具有以下特點(diǎn): 協(xié)議標(biāo)準(zhǔn)具有開(kāi)放性,其獨(dú)立于特定的計(jì)算機(jī)硬件及操作系統(tǒng),可以免費(fèi)使用。 統(tǒng)一分配網(wǎng)絡(luò)地址,使得每個(gè)TCP/IP 設(shè)備在網(wǎng)絡(luò)中都具有唯一的IP地址。 實(shí)現(xiàn)了高層協(xié)議的標(biāo)準(zhǔn)化,能為用戶(hù)提供多種可靠的服務(wù)。(2)TCP/IP協(xié)議進(jìn)行傳輸數(shù)據(jù)傳輸?shù)倪^(guò)程:應(yīng)用程序?yàn)榱藗鬏敂?shù)據(jù)會(huì)調(diào)用TCP,將數(shù)據(jù)和對(duì)應(yīng)的參數(shù)傳給TCP,將TCP 數(shù)據(jù)包封裝在IP包內(nèi),通過(guò)網(wǎng)絡(luò)送給目的TCP。接收方TCP在接收到數(shù)據(jù)后通知上層應(yīng)用程序,TCP將保證接收數(shù)據(jù)的正確性。在實(shí)現(xiàn)TCP的主機(jī)上,TCP可以被看成是一個(gè)模塊,和文件系統(tǒng)區(qū)別不大,TCP 也可以調(diào)用一些操作系統(tǒng)的功能,TCP不直接和網(wǎng)絡(luò)打交道,控制網(wǎng)絡(luò)的任務(wù)由專(zhuān)門(mén)的設(shè)備驅(qū)動(dòng)模塊完成。TCP只是調(diào)用IP接口,向TCP提供所有TCP需要的服務(wù)。(3)端口號(hào):有的時(shí)候,一個(gè)ip地址不能完整的標(biāo)識(shí)一臺(tái)服務(wù)器,這是應(yīng)為一臺(tái)物理性的計(jì)算機(jī)同時(shí)運(yùn)行著多個(gè)應(yīng)用程序,這就需要我們來(lái)區(qū)別同一臺(tái)機(jī)子上的不同的服務(wù),所以就在傳輸層和應(yīng)用層上設(shè)置接口,就是 端口。端口實(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è)客戶(hù)端應(yīng)用程序。在數(shù)據(jù)傳輸過(guò)程中,各種服務(wù)器不斷的檢測(cè)分配給他的端口,一邊發(fā)現(xiàn)要求和他通信的客戶(hù)端。 Socket的簡(jiǎn)介Socket,簡(jiǎn)稱(chēng)套接字,用于實(shí)現(xiàn)網(wǎng)絡(luò)上客戶(hù)和服務(wù)器之間的連接。也就是說(shuō)網(wǎng)絡(luò)上兩個(gè)或兩個(gè)以上雙工方式通信的進(jìn)程之間總有一個(gè)連接,這個(gè)連接的端點(diǎn)成為套接字,套接字是在比較低的層次上通信的。具體的說(shuō):一個(gè)服務(wù)器應(yīng)用程序一般偵聽(tīng)一個(gè)特定的端口等待客戶(hù)端的連接請(qǐng)求,當(dāng)一個(gè)連接請(qǐng)求到達(dá)時(shí),客戶(hù)端和服武器端建立一個(gè)通信連接,在連接過(guò)程中,客戶(hù)端被分配一個(gè)本地端口與一個(gè)socket建立連接,客戶(hù)端通過(guò)寫(xiě)socket來(lái)通知服務(wù)器,以讀socket中的信息,類(lèi)似的服務(wù)器也獲得一個(gè)本地端口,它需要一個(gè)新的端口號(hào)來(lái)偵聽(tīng)原始端口上的其他連接請(qǐng)求。服務(wù)器也通過(guò)它的本地端口連接一個(gè)socket,通過(guò)讀寫(xiě)和客戶(hù)端通信。Socket程序的工作過(guò)程:建立Socket連接:在通信開(kāi)始之前由通信雙方確認(rèn)身份,建立一條專(zhuān)用的虛擬連接通道。數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進(jìn)行通道。關(guān)閉:通信結(jié)束時(shí),再將所建的虛擬連接拆除。具體如下:服務(wù)器1服務(wù)器socket2監(jiān)聽(tīng)4接收5讀6寫(xiě)7關(guān)閉3客戶(hù)端etsocket6 寫(xiě)5 讀7關(guān)閉 三次握手:第一次握手:原主機(jī)發(fā)送一個(gè)帶有本次連接的序號(hào)的請(qǐng)求的一個(gè)數(shù)據(jù)幀第二次握手:目的主機(jī)收到請(qǐng)求后,如果同意連接,則發(fā)回一個(gè)帶有一個(gè)本次連接序號(hào)和源端機(jī)連接序列號(hào)的確認(rèn)。第三此握手:源端機(jī)收到含有兩次初始序列號(hào)的應(yīng)答后,在向目的主機(jī)發(fā)送一個(gè)帶有兩次連接的序列號(hào)的確認(rèn)。具體過(guò)程如下ACK=1第一次握手,主機(jī)A向主機(jī)B發(fā)送連接請(qǐng)求第二次握手,主機(jī)B收到主機(jī)A的請(qǐng)求,向主機(jī)A回發(fā)一個(gè)確認(rèn),同時(shí)向主機(jī)A發(fā)送一個(gè)連接請(qǐng)求第三次握手,主機(jī)A收到主機(jī)B發(fā)送的數(shù)據(jù)包在向主機(jī)B發(fā)送一個(gè)確認(rèn)連接主機(jī)A 主機(jī)BACK=1,SYN=1,SEQ=aaaaaaaaaaSYN=1,SEQ= 2 規(guī)劃設(shè)計(jì) 課題來(lái)源根據(jù)當(dāng)前網(wǎng)絡(luò)的需求,網(wǎng)絡(luò)聊天越來(lái)越受各種網(wǎng)民所青睞。因此開(kāi)發(fā)網(wǎng)絡(luò)聊天是相當(dāng)有必要,而且在網(wǎng)站內(nèi)增加聊天功能,它不僅可以提高網(wǎng)站的訪(fǎng)問(wèn)量,同時(shí)可以留著訪(fǎng)客,更重要的是讓訪(fǎng)客透過(guò)聊天室實(shí)時(shí)的互相交流。而本人也學(xué)習(xí)過(guò)JAVA語(yǔ)言,對(duì)網(wǎng)絡(luò)編程也較有興趣,為了更好的考驗(yàn)自己對(duì)JAVA語(yǔ)言的掌握程度,本人就決定以《基于JAVA聊天設(shè)計(jì)與實(shí)現(xiàn)》為畢業(yè)設(shè)計(jì),希望通過(guò)這一次的能進(jìn)一步提高本人的網(wǎng)絡(luò)開(kāi)發(fā)編程的能力。聊天系統(tǒng)不外乎兩個(gè)方面,服務(wù)器端和客戶(hù)端。簡(jiǎn)單分析一下兩個(gè)方面所要完成的任務(wù),對(duì)設(shè)計(jì)這個(gè)程序來(lái)說(shuō),等于完成了一半。首先來(lái)看一下服務(wù)器端的任務(wù): ?。保?wù)器端應(yīng)當(dāng)建立一個(gè)ServerSocket,并且不斷進(jìn)行偵聽(tīng)是否有客戶(hù)端連接或者斷開(kāi)連接(包括判斷沒(méi)有響應(yīng)的連接超時(shí))?! 。玻?wù)器端應(yīng)當(dāng)是一個(gè)信息發(fā)送中心,所有客戶(hù)端的信息都傳到服務(wù)器端,由服務(wù)器端根據(jù)要求分發(fā)信息?! ∫陨暇褪欠?wù)器端最主要的兩個(gè)任務(wù)。不難看出,服務(wù)器端的任務(wù)并不復(fù)雜。  客戶(hù)端應(yīng)該完成的工作包括: ?。保c服務(wù)器端建立通信通道,向服務(wù)器端發(fā)送信息?! 。玻邮諄?lái)自服務(wù)器的信息?! ∠鄬?duì)服務(wù)器而言,客戶(hù)端的任務(wù)更加簡(jiǎn)單,有了以上的簡(jiǎn)單分析,可以知道,解決上述四個(gè)問(wèn)題,即完成了該聊天系統(tǒng)的核心。3 系統(tǒng)分析與設(shè)計(jì)方案3.1 聊天系統(tǒng)的總體設(shè)計(jì)要點(diǎn) 聊天系統(tǒng)的設(shè)計(jì)跟普通網(wǎng)站設(shè)計(jì)有著許多不同的地方,普通網(wǎng)站設(shè)計(jì)所考慮的因素,例如,普通網(wǎng)站需要對(duì)布局進(jìn)入大量美化以及動(dòng)畫(huà)設(shè)計(jì)等等,而聊天室只要提供滿(mǎn)足訪(fǎng)客雙方直接實(shí)時(shí)聊天即可。因此,在設(shè)計(jì)聊天系統(tǒng)的過(guò)程中,必須要考慮好以下幾個(gè)設(shè)計(jì)要點(diǎn):實(shí)現(xiàn)思想在Internet上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應(yīng),使用者通過(guò)客戶(hù)端程序登錄到服務(wù)器,就可以與登錄在同一服務(wù)器上的用戶(hù)交談,這是一個(gè)面向連接的通信過(guò)程。因此,程序要在TCP/IP環(huán)境下,實(shí)現(xiàn)服務(wù)器端和客戶(hù)端兩部分程序。服務(wù)器端工作流程服務(wù)器端通過(guò)socket()系統(tǒng)調(diào)用創(chuàng)建一個(gè)Socket數(shù)組后(即設(shè)定了接受連接客戶(hù)的最大數(shù)目),與指定的本地端口綁定bind(),就可以在端口進(jìn)行偵聽(tīng)listen()。如果有客戶(hù)端連接請(qǐng)求,則在數(shù)組中選擇一個(gè)空Socket,將客戶(hù)端地址賦給這個(gè)Socket。然后登錄成功的客戶(hù)就可以在服務(wù)器上聊天了??蛻?hù)端工作流程客戶(hù)端程序相對(duì)簡(jiǎn)單,只需要建立一個(gè)Socket與服務(wù)器端連接,成功后通過(guò)這個(gè)Socket來(lái)發(fā)送和接收數(shù)據(jù)就可以了。3 .2 聊天系統(tǒng)的設(shè)計(jì)步驟及功能模塊劃分聊天系統(tǒng)工作原理圖 聊天系統(tǒng)各功能模塊(1)服務(wù)器程序模塊服務(wù)器與客戶(hù)間通過(guò)套接口Socket(TCP)連接。在java中使用套接口相當(dāng)簡(jiǎn)單,Java ,使得編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序相對(duì)容易。服務(wù)器采用多線(xiàn)程以滿(mǎn)足多用戶(hù)的請(qǐng)求,并通過(guò)創(chuàng)建一個(gè)ServerSocket對(duì)象來(lái)監(jiān)聽(tīng)來(lái)自客戶(hù)的連接請(qǐng)求,默認(rèn)端口為9527,然后無(wú)限循環(huán)調(diào)用accept()方法接受客戶(hù)程序的連接。服務(wù)器線(xiàn)程源碼:package 。import 。import 。import 。import 。import .*。import 。import .*。public class ServerController { private User user。 private Socket s。 private IServiceDao dao。 private ObjectInputStream ois。 private ObjectOutputStream oos。 private OnlineUser onlineUser。 public ServerController(Socket s) { super()。 dao=。 = s。 } public void handle() throws Exception { ois=new ObjectInputStream(())。 oos=new ObjectOutputStream(())。 onlineUser=new OnlineUser(ois,oos)。 while(true){ Request req=(Request)()。 ()。 RequestType type=()。 if(()){ exitHandle()。 break。 }else if(()){ loginHandle(req)。 }else if(()){ registerHandle()。 }else if(()){ offlineHandle()。 break。 }else if(()){ changeInformationHandle()。 }else if(
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1