- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 分布式非结构化P2P网络 分布式非结构化拓扑的P2P网络采用了随机图的组织方式来构成一个松散的网络 Gnutella是分布式非结构化P2P网络的典型代表 混合式P2P网络 混合式P2P网络总共包含3种节点: 用户节点;搜索节点;索引节点 4.6.3 P2P网络和C/S网络的比较 P2P网络中弱化了服务器的功能 节点所有者可以随意地将自己的信息发布到网上 P2P的优点是 对等点越多,网络的性能就越好 P2P的不足之处就在于 不易管理,网络中数据的安全性难以保证 P2P网络与C/S网络的性能比较 4.7 客户机/服务器应用编程 4.7.1 网络应用编程概述 4.7.2 TCP套接字应用编程 4.7.3 UDP套接字应用编程 4.7.1 网络应用编程概述 网络应用编程涉及到算法语言的应用 客户机/服务器应用程序有两类 一是遵循RFC技术文档所定义的标准协议的开放应用 另一类客户机/服务器应用程序是专用的,可以不遵循RFC技术文档所定义的规则 网络应用程序的核心是由客户机程序和服务器程序组成的 在具体编程时 可以使用TCP协议,采用面向连接的数据流(SOCK_DGRAMSTREAM)传输服务 也可以使用UDP协议,采用无连接的数据报(SOCK_DGRAM)传输服务 选择Java语言编写TCP和UDP程序 用Java语言写的程序清晰简洁、代码量少 可以从SUN公司的网站免费下载Java程序开发环境 设置环境变量Path的方法 4.7.2 TCP套接字应用编程 客户机/服务器编程示例 TCPClient.java源代码及分析 [01] import java.io.*; [02] import .*; [03] class TCPClient { [04] public static void main(String argv[]) throws Exception { [05] String sentence; [06] String modifiedSentence; [07] BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); [08] Socket clientSocket = new Socket(hostname, 6789); [09] DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); [10] BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); [11] sentence = inFromUser.readLine(); [12] outToServer.writeBytes(sentence + \n); [13] modifiedSentence = inFromServer.readLine(); [14] System.out.println(FROM SERVER: + modifiedSentence); [15] clientSocket.close(); } } TCPServer.java源代码及分析 [01] import java.io.*; [02] import .*; [03] class TCPServer { [04] public static void main(String argv[]) throws Exception { [05] String clientSentence; [06] String capitalizedSentence; [07] ServerSocket welcomeSocket = new ServerSocket(6789); [08] while(true) { [09] Socket connectionSocket = welcomeSocket.accept(); [10]
您可能关注的文档
- 数字电路与逻辑设计普通高等教育“十一五”国家级规划教材课件作者徐惠民安德宁延明第四章节.ppt
- 计算机网络与通信课件作者韩毅刚计算机网络与通信第11章节网络与通信的融合发展.ppt
- 数字电路与逻辑设计普通高等教育“十一五”国家级规划教材课件作者徐惠民安德宁延明第一章节.ppt
- 数字电视原理与应用课件作者姜秀华第01章节.ppt
- 数字电视原理与应用课件作者姜秀华第02章节.ppt
- 数字电视原理与应用课件作者姜秀华第04章节.ppt
- 会计信息系统理论与实践——基于用友ERP-U8系统课件作者杨武岐张志强第10章节报表处理.ppt
- 数字电视原理与应用课件作者姜秀华第05章节.PPT
- 数字电视原理与应用课件作者姜秀华第06章节.ppt
- 计算机网络与通信课件作者张曾科计算机网络与通信(第6章节).ppt
- 人教版数学六年级上册 第一单元 第5课时 分数乘小数.pptx
- 人教版数学六年级上册 第四单元 第3课时 比的应用.pptx
- 人教版数学六年级上册 第五单元 第5课时 圆的面积-2.pptx
- 人教版数学六年级上册 第一单元 第7课时 解决问题-1.pptx
- 人教版数学六年级下册 第二单元 第4课时 利率.pptx
- 人教版数学六年级上册 第一单元 第8课时 解决问题-2.pptx
- 人教版数学六年级下册 第五单元 第2课时 鸽巢问题的一般形式.pptx
- 人教版数学六年级下册 第四单元 整理和复习.pptx
- 人教版数学六年级上册 第一单元 第3课时 分数乘分数-1.pptx
- 人教版数学六年级下册 第六单元复习第2课时 可能性.pptx
文档评论(0)