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

正文內(nèi)容

java----基于java局域網(wǎng)聊天程序設(shè)計與實現(xiàn)源碼英語文獻及翻譯(編輯修改稿)

2025-01-12 10:32 本頁面
 

【文章內(nèi)容簡介】 數(shù)傳給 TCP,將TCP 數(shù)據(jù)包封裝在 IP 包內(nèi),通過網(wǎng)絡送給目的 TCP。接收方 TCP 在接收到數(shù)據(jù)后通知上層應用程序, TCP 將保證接收數(shù)據(jù)的正確性。 TCP 調(diào)用 IP接口,向 TCP 提供 所有 TCP 需要的服務。 (3)端口號: 有的時候,一個 IP 地址不能完整的標識一臺服務器,這是應為一臺物理性的計算機同時運行著多個應用程序,這就需要我們來區(qū)別同一臺機子上的不同的服務,所以就在傳輸層和應用層上設(shè)置接口,就是端口。端口實際是一個 16 位長的 地址,他的范圍是 0~ 65535 之間,其中 0~ 1023是熟知端口,主要是給提供服務的應用程序使用,這些端口是所有應用進程都只道的, 1024~ 65535 為一般端口,也稱動態(tài)端口、連接端口,用來隨時分配要求通信的客戶端應用程序。在數(shù)據(jù)傳輸過程中,各種服務器不斷的檢測 分配給他的端口,一邊發(fā)現(xiàn)要求和他通信的客戶端。 Socket 的簡介 Socket,簡稱套接字,用于實現(xiàn)網(wǎng)絡上客戶和服務器之間的連接。也就是說網(wǎng)絡上兩個或兩個以上雙工方式通信的進程之間總有一個連接,這個連接的端點成為套接字,套接字是在比較低的層次上通信的。 具體的說:一個服務器應用程序一般偵聽一個特定的端口等待客戶端的連接請求,當一個連接請求到達時,客戶端和服武器端建立一個通信連接,在連接過程中,客戶端被分配一個本地端口與一個 Socket 建立連接,客戶端通過寫 Socket 來通知服務器,以讀 Socket 中的信息,類似的服務器也獲得一個本地端口,它需要一個新的端口號來偵聽原始端口上的其他連接請求。服務器也通過它的本地端口連接一個 socket,通過讀寫和客戶端通信。 Socket 程序的工作過程: 建立 Socket 連接:在通信開始之前由通信雙方確認身份,建立一條專用的虛擬連接通道。 數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進行通道。 關(guān)閉:通信結(jié)束時,再將所建的虛擬連接拆除。 具體如下: Socket 套接字原理圖 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 7 對等網(wǎng)絡 對等網(wǎng)絡發(fā)展歷史 對等網(wǎng)絡 (peer to peer,簡稱 P2P)應用最初出現(xiàn)時和現(xiàn)在并不相同。事實上可以認為它是若干不同技術(shù)的產(chǎn)物。下面是兩個導致 P2P 技術(shù)發(fā)展最重要的趨勢 : 首先是某些新技術(shù)與軟件工程結(jié)合,形成一種將工作分散的趨勢。 P2P計算正是這種分散工作趨勢的必然結(jié)果。 其次從工程的角度看來,在企業(yè)應用集成等因素的驅(qū)動下,過去十年漸漸形成一種從集中系統(tǒng)轉(zhuǎn)向分布式系統(tǒng)的趨勢。 對功能強大的網(wǎng)絡計算機的需求以及昂貴的帶寬開銷,是對這種趨勢影響最大的兩個因素。為了提高效率, P2P 計算由許多互相連接的同位體組成。 除了技術(shù)方面之外的 社會因素也是一個重要原因。毫無疑問,人們現(xiàn)在對 P2P 計算技術(shù)的熱切關(guān)注起源于 Napster, Scour, Gnutella,以及即時通訊類的相關(guān)產(chǎn)品。這些產(chǎn)品提供了所謂的“ killer apps”功能,能夠?qū)?P2P 技術(shù)中的一部分下放到客戶端手中。這種第一手的體驗,使得人們越來越關(guān)注 P2P 技術(shù)。 對等網(wǎng)絡的概念 1 服務器 socket 2 監(jiān)聽 4 接收 5 讀 6 寫 7 關(guān)閉 3 客戶端 etsocket 6 寫 5 讀 7 關(guān)閉 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 8 目前,業(yè)界對 P2P 的定義還沒有一個標準的說法, Intel 將 P2P 技術(shù)定義為“通過系統(tǒng)間的直接交換達成計算機資源與信息的共享”。 IBM 則把它看成是由若干互聯(lián)協(xié)作的計算機構(gòu)成的系統(tǒng)并具備如下若 干特性之一 :系統(tǒng)依存于邊緣化設(shè)備的主動協(xié)作,每個成員直接從其他成員而不是從服務器的參與中受益 。系統(tǒng)中成員同時扮演服務器與客戶端的角色 。系統(tǒng)應用的用戶能夠意識到彼此的存在而構(gòu)成一個虛擬或?qū)嶋H的群體。 簡單地說, P2P 技術(shù)是一種用于不同 PC 用戶之間、不經(jīng)過中繼設(shè)備直接交換數(shù)據(jù)或服務的技術(shù)。它打破了傳統(tǒng)的 C/S 模式,在對等網(wǎng)絡中,每個節(jié)點的地位都是相同的,具備客戶端和服務器雙重特性,可以同時作為服務使用者和服務提供者。 對等網(wǎng)絡的主要系統(tǒng)結(jié)構(gòu) PZP 模式的變化經(jīng)歷了集中式、分布式和混合式 3 個階段。 (1)集中式對等網(wǎng)絡 集中式 P2P 模式由一個中心服務器來負責記錄共享信息以及反饋查詢 。每一個對等實體要對它所需共享的信息以及進行的通信負責。這種形式具有中心化的特點,但是它不同于傳統(tǒng)意義上的 C/S 模式。集中式 P2P 模式則是所有網(wǎng)上提供的資料都存放在提供該資料的客戶機上,服務器上只保留索引信息,此外服務器與對等實體以及對等實體之間都具有交互能力。 集中目錄式 PZP 模型還存在很多問題,主要表現(xiàn)為 : ? 中央服務器的癱瘓將導致整個網(wǎng)絡的崩潰,可靠性和安全性較低 : ? 隨著網(wǎng)絡規(guī)模的擴大,中央目錄服務器維護和更新的費用將急 劇增加,所需成本過高 。 ? 中央服務器的存在引起共享資源在版權(quán)問題上的糾紛,這也是直接導致 Napster 破產(chǎn)的原因 。 ? 缺乏有效的強制共享機制,資源可用性差。 集中式 P2P 可提供中心服務器目錄檢索、管理服務和標準的點到點通信,具有高效的檢索和低效的交換服務的特點。集中式 P2P 對小型網(wǎng)絡而言在管理和控制方面占有一定的優(yōu)勢,但對大型網(wǎng)絡并不適合。 (2)分布式對等網(wǎng)絡 在分布式 P2P 中,對等機通過與相鄰對等機之間的連接遍歷整個網(wǎng)絡體系。每個對等機在功能上都是相似的,并沒有專門的服務器,而對等機工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 9 必須依靠它們所在的分布 網(wǎng)絡來查找文件和定位其他對等機。 以 Gnutella 網(wǎng)絡為例,一臺新對等機首先通過訪問某特殊站點提供的主機緩存服務機制來得到一臺活動對等機地址,通過與它建立一個連接將自己接入 Gnutella 網(wǎng)絡 。接著,該新對等機主動探查網(wǎng)絡中的其它對等機,找到與之相鄰的對等機節(jié)點,在進行文件查找時,該對等機首先向與之相鄰的所有活動對等點發(fā)送一個查詢描述符 Query,在其他對等機接收到該查詢描述符后,檢查本地是否有符合查詢請求的文件內(nèi)容,如果有,則按查詢描述符的發(fā)送路徑返回一個查詢響應描述符 QueryHit,無論本地是否存在 符合查詢請求的文件內(nèi)容,其他對等機都會將該查詢包通過擴散方式繼續(xù)在網(wǎng)絡中傳遞,直至查詢包中 TTL 屬性值遞減為 0 時才停止繼續(xù)轉(zhuǎn)發(fā) 。一旦定位了響應查詢文件的對等機之后,就與響應對等機建立 TCP連接,通過 HTTP 協(xié)議從響應對等機中下載自己查詢的文件。文件的傳輸不再經(jīng)過 Gnutella 網(wǎng)絡進行。 分布式對等網(wǎng)絡模型也存在很多弊端,主要表現(xiàn)在以下方面 : ? 搜索請求要經(jīng)過整個網(wǎng)絡或者至少是一個很大的范圍才能得到結(jié)果,因此,這種模式占用很多帶寬,而且需要花費很長時間才能有返回結(jié)果。 ? 隨著網(wǎng)絡規(guī)模的擴大,通過擴散方式定位對等 點及查詢信息的方法將會造成網(wǎng)絡流量增加,導致網(wǎng)絡擁塞,最終使 Gnutella 網(wǎng)絡被分片,因此,網(wǎng)絡的可擴展性不好,不適合大型網(wǎng)絡。 ? 純分布式的 P2P 模式很難被企業(yè)所利用,因為它缺少對網(wǎng)絡上的用戶節(jié)點數(shù)以及對他們提供的資源的一個總體把握。 ? 安全性不高,易遭受惡意攻擊。 這種無中心、純分布式系統(tǒng)的特點是 :它不再是簡單的點到點通信,而是更高效、更復雜的網(wǎng)絡通信。 (3)混合 P2P 網(wǎng)絡 集中式 P2P 有利于網(wǎng)絡資源的快速檢索,并且只要服務器能力足夠強大就可以無限擴展,但是其中心化的模式容易遭到直接的攻擊 :分布式 P2P解決了抗攻擊問題,但是又缺乏快速搜索和可擴展性。混合式 P2P 結(jié)合了集中式和分布式 P2P 的優(yōu)點,在設(shè)計思想和處理能力上都得到了進一步的優(yōu)化。它在分布式模式的基礎(chǔ)上,將用戶節(jié)點按能力進行分類,使某些節(jié)工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 10 點擔任特殊的任務。 這些節(jié)點共分為 3 種 : ? 用戶節(jié)點 :普通節(jié)點,它不具有任何特殊的功能。 ? 搜索節(jié)點 :處理搜索請求,從它們的孩子節(jié)點中搜索文件列表,這些節(jié)點必須有 128 kbit/s RAM 的網(wǎng)絡連接速度,建議使用高性能的處理器。 ? 索引節(jié)點 :連接速度快、內(nèi)存充足的節(jié)點可以作為索引節(jié)點。索引節(jié)點用于保存可以利用的搜索節(jié)點 信息,并搜集狀態(tài)信息,維護網(wǎng)絡結(jié)構(gòu)信息。 在第三代 P2P 的軟件體系結(jié)構(gòu)中,采用了混合式 P2P。這種模式的關(guān)鍵之一是引入了索引節(jié)點,索引節(jié)點不會直接連接到有版權(quán)的資料上,它就像搜索引擎一樣,只是搜索和所需資料相關(guān)的地址,至于用戶到底連接下載了什么內(nèi)容則和它無關(guān)。這種模式的關(guān)鍵之二是引入搜索節(jié)點,搜索節(jié)點管理著所屬用戶的文件列表。用戶節(jié)點通過索引節(jié)點獲得搜索節(jié)點信息,之后用戶節(jié)點就與獲得的搜索節(jié)點相連,每一次查詢都通過該搜索節(jié)點進行。當用戶發(fā)出搜索請求后,如果和用戶節(jié)點直接相連的搜索節(jié)點查詢結(jié)果達到 100 個就停 止 。如果不足 100 個,就向相鄰的搜索節(jié)點發(fā)出請求,如果查詢結(jié)果還不夠,就繼續(xù)向外快速發(fā)散,直到所有的搜索節(jié)點都被搜索到為止。若所有的搜索節(jié)點都被訪問過,就意味著整個網(wǎng)絡上的節(jié)點都被搜索到了,其速度要比純 P2P 模式快得多。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 11 2 JAVAqq 局域網(wǎng)聊天程序的需求分析 課題來源 根據(jù)當前網(wǎng)絡的需求,網(wǎng)絡聊天越來越受各種網(wǎng)民所青睞。因此開發(fā)網(wǎng)絡聊天是相當有必要,而且在網(wǎng)站內(nèi)增加聊天功能,它不僅可以提高網(wǎng)站的訪問量,同時可以留著訪客,更重要的是讓訪客透過聊天室實時的互相交流?,F(xiàn)在 Intra 網(wǎng) 絡在企業(yè)中越來越流行,不需要連入廣域網(wǎng)就實現(xiàn)實時消息傳遞的系統(tǒng)由于其優(yōu)越的性能受到企業(yè)的青睞。本人原來學習過 JAVA 語言,對 P2P 技術(shù)以及網(wǎng)絡編程也較有興趣,為了更好的考驗自己對 JAVA 語言的掌握程度,以及能更深入的理解 P2P 技術(shù)的內(nèi)涵,本人就決定以《基于 JAVA 局域網(wǎng)聊天程序設(shè)計與實現(xiàn)》為畢業(yè)設(shè)計,希望通過這一次的能進一步提高本人的網(wǎng)絡編程的能力。 需求分析 基于 P2P 的 聊天系統(tǒng), 用戶既是 服務器端 也是 客戶端。 這并不同于傳統(tǒng)的一服務器多客戶端的網(wǎng)絡結(jié)構(gòu),而是多服務器多客戶端的網(wǎng)絡結(jié)構(gòu),服務器與客戶 端一一綁定,數(shù)量相等。不過,從原理上看,這還是 C/S 模式 。 所以,我的程序大致可分為服務器模塊和客戶端模塊來進行分析。 首先 介紹 一下服務器 模塊 的任務: 模塊 應當建立一個 ServerSocket,并且不斷進行偵聽是否有客戶端 模塊 連接或者斷開連接 。 模塊監(jiān)聽網(wǎng)絡上的客戶端模塊是否有與本機進行通信的需求。若有需求,就建立連接,接收消息,通過 ActionListener 接口進行偵聽,當用戶點擊按鈕后,啟動一個聊天界面,將消息通過客戶端模塊顯示出來。 以上就是服務器 模塊 最主要的兩個任務。 客戶端應該 完成的工作包括: ,若成功,通過 ServerSocket 進行連接,端口默認為 5001。 。 服務器 接收 的信息。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 12 除此之外,本系統(tǒng)還講實現(xiàn)群聊功能:默認 為廣播地址,用UDP 技術(shù)通過廣播的方式把消息傳遞給局域網(wǎng)內(nèi)每個用戶的手中。從原理上講,跟實現(xiàn)客戶端的原理差不多,只不過這里不是點對點兩人通信。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 13 3 JAVAqq 局域網(wǎng)聊天程序的系統(tǒng)分析與設(shè)計 JAVAqq 局域網(wǎng)聊天程序的總體設(shè)計要點 聊天系統(tǒng)的設(shè) 計跟普通網(wǎng)站設(shè)計有著許多不同的地方,普通網(wǎng)站設(shè)計所考慮的因素,例如,普通網(wǎng)站需要對布局進入大量美化以及動畫設(shè)計等等,而聊天室只要提供滿足訪客雙方直接實時聊天即可。因此,在設(shè)計聊天系統(tǒng)的過程中,必須要考慮好以下幾個設(shè)計要點: 實現(xiàn)思想 局域網(wǎng)基于 P2P 上的聊天程序一般都是以服務器 模塊 提供連接響應,使用者通過客戶端 模塊連接 ,與用戶交談,這是一個面向連接的通信過程。因此,程序要在 TCP/IP 環(huán)境下,實現(xiàn)服務器和客戶端兩 個模塊的 程序。 服務器 模塊 工作流程 服務器 模塊 通過 socket()系統(tǒng)調(diào)用創(chuàng)建一個 Socket 數(shù)組后,與指定的本地端口綁定,就可以在端口進行偵聽 listen()。如果有 用戶 連接請求,則 建立 一個 Socket,將客戶端地址賦給這個 Socket。然后 就可以相互傳遞信息了 。 客戶端 模塊 工作流程 客戶端程序相對簡單,只需要建立一個 Socket 與服務器 模塊 連接,成功后通過這個 Socket 來發(fā)送和接收數(shù)據(jù)就可以了。 系統(tǒng)通過 ActionListener 接口來監(jiān)聽用戶的對按鈕的點擊,來啟動各聊天窗口進行相關(guān)工作,如私聊,群聊等。 JAVAqq 局域網(wǎng)聊天程序的設(shè)計步驟及功能模塊劃分 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 14 聊天系統(tǒng) 工作原理圖 JAVAqq 局域網(wǎng)聊天程序各功能模塊 1. LoadingFrame(源代碼見附錄,下同 ) public void init(){//登陸界面的初始化方法 setTitle(登錄 )。 setIconImage((new ImageIcon(\\image\\)).getImage())。 ?? setLocation(387, 234)。 setSize(350,300)。 setVisible(true)。 setDefaultCloseOperation(3)。 (this)。//將“登陸”按鈕加入到事件偵聽器中 (this)。//講“取消”按鈕加入到事件偵聽器中 (this)。//講輸入用戶名的文本框加入到事件偵聽器中 (false)。 } public void actionPerformed(ActionEvent e) { if(()==loadBtn||()==nameText){//創(chuàng)建客戶端主界面 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 15 text=()。 new StateFrame(text)。 d
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1