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

正文內(nèi)容

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

2024-07-21 23:40 本頁面
 

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