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

正文內(nèi)容

java----基于java局域網(wǎng)聊天程序設(shè)計(jì)與實(shí)現(xiàn)+源碼+英語(yǔ)文獻(xiàn)及翻譯-預(yù)覽頁(yè)

 

【正文】 上兩個(gè)或兩個(gè)以上雙工方式通信的進(jìn)程之間總有一個(gè)連接,這個(gè)連接的端點(diǎn)成為套接字,套接字是在比較低的層次上通信的。 數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進(jìn)行通道。下面是兩個(gè)導(dǎo)致 P2P 技術(shù)發(fā)展最重要的趨勢(shì) : 首先是某些新技術(shù)與軟件工程結(jié)合,形成一種將工作分散的趨勢(shì)。為了提高效率, P2P 計(jì)算由許多互相連接的同位體組成。這種第一手的體驗(yàn),使得人們?cè)絹?lái)越關(guān)注 P2P 技術(shù)。系統(tǒng)應(yīng)用的用戶(hù)能夠意識(shí)到彼此的存在而構(gòu)成一個(gè)虛擬或?qū)嶋H的群體。 (1)集中式對(duì)等網(wǎng)絡(luò) 集中式 P2P 模式由一個(gè)中心服務(wù)器來(lái)負(fù)責(zé)記錄共享信息以及反饋查詢(xún) 。 集中目錄式 PZP 模型還存在很多問(wèn)題,主要表現(xiàn)為 : ? 中央服務(wù)器的癱瘓將導(dǎo)致整個(gè)網(wǎng)絡(luò)的崩潰,可靠性和安全性較低 : ? 隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,中央目錄服務(wù)器維護(hù)和更新的費(fèi)用將急 劇增加,所需成本過(guò)高 。集中式 P2P 對(duì)小型網(wǎng)絡(luò)而言在管理和控制方面占有一定的優(yōu)勢(shì),但對(duì)大型網(wǎng)絡(luò)并不適合。接著,該新對(duì)等機(jī)主動(dòng)探查網(wǎng)絡(luò)中的其它對(duì)等機(jī),找到與之相鄰的對(duì)等機(jī)節(jié)點(diǎn),在進(jìn)行文件查找時(shí),該對(duì)等機(jī)首先向與之相鄰的所有活動(dòng)對(duì)等點(diǎn)發(fā)送一個(gè)查詢(xún)描述符 Query,在其他對(duì)等機(jī)接收到該查詢(xún)描述符后,檢查本地是否有符合查詢(xún)請(qǐng)求的文件內(nèi)容,如果有,則按查詢(xún)描述符的發(fā)送路徑返回一個(gè)查詢(xún)響應(yīng)描述符 QueryHit,無(wú)論本地是否存在 符合查詢(xún)請(qǐng)求的文件內(nèi)容,其他對(duì)等機(jī)都會(huì)將該查詢(xún)包通過(guò)擴(kuò)散方式繼續(xù)在網(wǎng)絡(luò)中傳遞,直至查詢(xún)包中 TTL 屬性值遞減為 0 時(shí)才停止繼續(xù)轉(zhuǎn)發(fā) 。 ? 隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,通過(guò)擴(kuò)散方式定位對(duì)等 點(diǎn)及查詢(xún)信息的方法將會(huì)造成網(wǎng)絡(luò)流量增加,導(dǎo)致網(wǎng)絡(luò)擁塞,最終使 Gnutella 網(wǎng)絡(luò)被分片,因此,網(wǎng)絡(luò)的可擴(kuò)展性不好,不適合大型網(wǎng)絡(luò)。 (3)混合 P2P 網(wǎng)絡(luò) 集中式 P2P 有利于網(wǎng)絡(luò)資源的快速檢索,并且只要服務(wù)器能力足夠強(qiáng)大就可以無(wú)限擴(kuò)展,但是其中心化的模式容易遭到直接的攻擊 :分布式 P2P解決了抗攻擊問(wèn)題,但是又缺乏快速搜索和可擴(kuò)展性。 ? 搜索節(jié)點(diǎn) :處理搜索請(qǐng)求,從它們的孩子節(jié)點(diǎn)中搜索文件列表,這些節(jié)點(diǎn)必須有 128 kbit/s RAM 的網(wǎng)絡(luò)連接速度,建議使用高性能的處理器。這種模式的關(guān)鍵之一是引入了索引節(jié)點(diǎn),索引節(jié)點(diǎn)不會(huì)直接連接到有版權(quán)的資料上,它就像搜索引擎一樣,只是搜索和所需資料相關(guān)的地址,至于用戶(hù)到底連接下載了什么內(nèi)容則和它無(wú)關(guān)。如果不足 100 個(gè),就向相鄰的搜索節(jié)點(diǎn)發(fā)出請(qǐng)求,如果查詢(xún)結(jié)果還不夠,就繼續(xù)向外快速發(fā)散,直到所有的搜索節(jié)點(diǎn)都被搜索到為止?,F(xiàn)在 Intra 網(wǎng) 絡(luò)在企業(yè)中越來(lái)越流行,不需要連入廣域網(wǎng)就實(shí)現(xiàn)實(shí)時(shí)消息傳遞的系統(tǒng)由于其優(yōu)越的性能受到企業(yè)的青睞。不過(guò),從原理上看,這還是 C/S 模式 。若有需求,就建立連接,接收消息,通過(guò) ActionListener 接口進(jìn)行偵聽(tīng),當(dāng)用戶(hù)點(diǎn)擊按鈕后,啟動(dòng)一個(gè)聊天界面,將消息通過(guò)客戶(hù)端模塊顯示出來(lái)。 服務(wù)器 接收 的信息。因此,在設(shè)計(jì)聊天系統(tǒng)的過(guò)程中,必須要考慮好以下幾個(gè)設(shè)計(jì)要點(diǎn): 實(shí)現(xiàn)思想 局域網(wǎng)基于 P2P 上的聊天程序一般都是以服務(wù)器 模塊 提供連接響應(yīng),使用者通過(guò)客戶(hù)端 模塊連接 ,與用戶(hù)交談,這是一個(gè)面向連接的通信過(guò)程。然后 就可以相互傳遞信息了 。 setIconImage((new ImageIcon(\\image\\)).getImage())。 setDefaultCloseOperation(3)。//講輸入用戶(hù)名的文本框加入到事件偵聽(tīng)器中 (false)。 }else if(()==cancelBtn){//取消登錄,推出程序 dispose()。主要通過(guò)將用戶(hù)名寫(xiě)入一個(gè)記事本保存起來(lái)。//默認(rèn) TCP 連接端口 public void init(){//初始化應(yīng)用程序窗口 ?? (new ActionListener(){ //用 ActionListener接口來(lái)對(duì)圖形界面中的各個(gè)組件進(jìn)行監(jiān)聽(tīng) public void actionPerformed(ActionEvent e) { //雙擊登錄到列表框內(nèi)容時(shí)觸發(fā)的事件為連通列表框中的 IP,建立 TCP通信 Socket socket。//建立連接 MainChatFrame mf=new MainChatFrame(socket,userinfo[s].getName())。//初始化廣播聊天信息組 groupC=()。 nametag=()。 (packet)。 CheckIn login=new CheckIn(this,userinfo)。 3. Catcher //實(shí)現(xiàn)對(duì)組播端口的監(jiān)聽(tīng),并作出反映 public void run(){ try {socket=new DatagramSocket()。//等待接受數(shù)據(jù)包 String count=new String(()).substring(()1,())。 //check為數(shù)據(jù)包的 IP地址 String judge=new String(()).substring(0,1)。 out=new PrintWriter(())。//用 Rdata數(shù)組來(lái)接收數(shù)據(jù), (packet)。 } } catch (IOException e) { ()。} try { while(true){ client=()。 }} 工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 19 6. Logon public void run(){ //run()方法實(shí)現(xiàn)對(duì)回應(yīng)的 TCP連接的信息的接收 , 并且完成對(duì) UserInfo信息的保存 String msg=null。 ip=msg。 msg=receiveMsg()。 } 5 和 6 主要完成對(duì)群消息的處理, 5 主要完成對(duì)信息的解包,顯示等等;而 6 主要是對(duì) TCP 連接的信息的接收,以及對(duì)用戶(hù)信息的保存。//建立失敗,不過(guò)還可以群聊 } ?? while(true){ Socket client = ()。 private String IP。} public void setIP(String ip) {IP = ip。 9. MainChatFrame public void init(String name){//傳入的參數(shù)為自身的用戶(hù)名 ?? 工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 21 (new ActionListener(){//接收信息的監(jiān)聽(tīng)器 public void actionPerformed(ActionEvent e) { try { sendMsg(())。 ?? (new ActionListener(){//發(fā)送信息的監(jiān)聽(tīng)器 public void actionPerformed(ActionEvent e) { try { sendMsg(())。 ?? } 顯示點(diǎn)對(duì)點(diǎn)聊天窗口,建立接收和發(fā)送數(shù)據(jù)的監(jiān)聽(tīng)。 =new DatagramPacket(dataS,)。 (new ActionListener(){//發(fā)送信息的監(jiān)聽(tīng)器 public void actionPerformed(ActionEvent e) { try{ byte[] dataS=(name+:+()).getBytes()。 } ?? }})。 工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 23 4 JAVAqq 局域網(wǎng)聊天程序的 設(shè)計(jì)與實(shí)現(xiàn) 開(kāi)發(fā)環(huán)境工具 基于 JAVA 聊天系統(tǒng)的設(shè)計(jì)主要運(yùn)用 JAVA 與語(yǔ)言與 Socket 類(lèi)開(kāi)發(fā)。主要用到的類(lèi)為 包中的 Socket 類(lèi)和 包中的類(lèi)。但幾乎每一個(gè)計(jì)算機(jī)軟件都會(huì)有這樣那樣的 BUG,尤其是未經(jīng)過(guò) 精心設(shè)計(jì)維護(hù)的非商業(yè)軟件。基本 JAVA 的聊天軟件設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)正是建立在 Java 平臺(tái)上。為了進(jìn)一步探索深層次的技巧,我花費(fèi)了大量時(shí)間在 sun 公司的 Java 主頁(yè)上,閱讀了幾十篇英文的文獻(xiàn)和代碼樣例。 首先,我要感謝學(xué)校的胡延忠老師、謝芳老師和趙嵐老師在畢業(yè)設(shè)計(jì)期間給了我的幫助,并且給了我許多關(guān)鍵的、建設(shè)性的指導(dǎo)。在理論課的學(xué)習(xí)中,我掌握了基礎(chǔ)課和專(zhuān)業(yè)課的理論知識(shí),也曾經(jīng)做過(guò)一些軟件設(shè)計(jì)和計(jì)算機(jī)綜合試驗(yàn),但真正動(dòng)手設(shè)計(jì)一個(gè) C/S模式的聊天軟件,這還是第一次。從選題、調(diào)查研究、需求分析到查找資料、結(jié)構(gòu)設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及調(diào)試程序,到最后的撰寫(xiě)論文,我終于設(shè)計(jì)出了一個(gè)比較完整的、周密的、可使用的以及有一定安全措施的聊天系統(tǒng)。 工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 29 參考文獻(xiàn) [1] 鄭玲,李為 .計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)指導(dǎo) (本科 ). 北京:清華大學(xué)出版社, 2021 [2] 王建華,董志敏譯 . JAVA 核心技術(shù) 卷Ⅱ:高級(jí)特性 . 北京:機(jī)械工業(yè)出版社, 2021 [3] 程峰,黃若波譯 .JAVA 核心技術(shù) 卷Ⅰ:基礎(chǔ)知識(shí) . 北京:機(jī)械工業(yè)出版社, 2021 [4] 張海藩 .軟件工程導(dǎo)論 (第四版 ). 北京:清華大學(xué)出版社, 2021 [5] 姬猛洛,李軍譯 . 即時(shí)消息傳遞系統(tǒng)編程源代碼解析 .北京:電子工業(yè)出版社, 2021 [6] 李建森 譯 . Java2圖形設(shè)計(jì) 卷二: Swing .北京:機(jī)械工業(yè)出版社, 2021 [7] 侯捷 譯 . Java2 編程思想 . 北京:機(jī)械工業(yè)出版社, 2021 [8] 孫衛(wèi)琴 .JAVA 網(wǎng)絡(luò)編程精解 . 北京:電子工業(yè)出版社, 2021 [9] 印旻 .Java 語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì) .北京:清華大學(xué)出版社,2021 [10] 王大鋒 . P2P 即時(shí)通訊軟件監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn) . 北京:中國(guó)科學(xué)院研究生院軟件研究所, 2021. [11] 徐曉春 . Java 即時(shí)通訊系統(tǒng) . 長(zhǎng)春:吉林大學(xué), 2021 工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 30 附錄 A 程序源代碼 1,LoadingFrame 程 序 的登 錄 窗口 ,從 此窗 口 中, 用所 得到 的 用戶(hù) 名來(lái) 初 始化 一 個(gè)StateFrame,在后期的完善中,會(huì)完成記住用戶(hù)名及自動(dòng)登錄功能。 import .*。 private JLabel label=new JLabel(icon)。 private JTextField nameText=new JTextField(12)。 private JPanel btnPanel=new JPanel(new FlowLayout())。 工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 31 setIconImage((new ImageIcon(\\image\\)).getImage())。 (0, 0, 350, 250)。 (inputPanel)。 (panel)。 setLocation(387, 234)。 (this)。 } public void actionPerformed(ActionEvent e) { 工程技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 32 if(()==loadBtn||()==nameText){ text=()。 (0)。 import .*。 public class StateFrame extends JFrame { String name=匿名 。 JPanel labelPanel=new JPanel(new GridLayout(2,1))。 JLabel stateLabel=new JLabel(在線(xiàn) )。 UserInfo[] userinfo=new UserInfo[50]。 public final static int TCP_PORT=6322。 DatagramPacket packet。 Socket Csocket。 init()。 TCPListener()。 (packet)。 } } //初始化應(yīng)用程序窗口 public void init(){ setIconImage((new ImageIcon(\\image\\)).getImage())。 (nameLabel)。 //(name)。 try { soc
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1