新Java网络程序设计 教学课件 房晓溪 第2章 网络程序设计的编程基础.pptVIP

新Java网络程序设计 教学课件 房晓溪 第2章 网络程序设计的编程基础.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 网络程序设计的编程基础 主要内容 在没有网络的前提下测试程序 端口 套接字 TCP/IP和UDP/IP通信 客户/服务器通信 Greetings服务器实例 解析Internet地址 2-1 在没有网络的前提下测试程序 由于多种潜在的原因,我们可能没有一台客户机、服务器以及一个网络来测试自己做好的程序。我们也许是在一个课堂环境中进行练习,或者写出的是一个不十分可靠的网络应用。IP的设计者注意到了这个问题,并建立了一个特殊的地址——localhost——来满足非网络环境中的测试要求。在Java中产生这个地址最一般的做法是: InetAddress addr = InetAddress.getByName(null); 为得到本地主机地址,也可向其直接传递字串localhost: InetAddress.getByName(localhost); 或者使用它的保留IP地址(四点形式),就象下面这样: InetAddress.getByName(); 三种方法得到的结果是一样的。 2-2 端口 由IP表达的每台机器也包含了“端口”(Port)。我们设置一个客户机或者服务器的时候,必须选择一个无论客户机还是服务器都认可连接的端口。 注意端口并不是机器上一个物理上存在的场所,而是一种软件抽象(主要是为了表述的方便)。 系统服务保留了使用端口1到端口1024的权力,所以不应让自己设计的服务占用这些以及其他任何已知正在使用的端口。本书的第一个例子将使用端口8080(为追忆我的第一台机器使用的老式8位Intel 8080芯片,那是一部使用CP/M操作系统的机子)。 2-3 套接字 套接字”(Socket)也是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。 有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接;以及Socket,客户用它初始一次连接。一旦客户(程序)申请建立一个套接字连接,ServerSocket就会返回(通过accept()方法)一个对应的服务器端套接字,以便进行直接通信。 创建一个ServerSocket时,只需为其赋予一个端口编号。不必把一个IP地址分配它,因为它已经在自己代表的那台机器上了。但在创建一个Socket时,却必须同时赋予IP地址以及要连接的端口编号(另一方面,从ServerSocket.accept()返回的Socket已经包含了所有这些信息)。 2-4 TCP/IP和UDP/IP通信 对于Socket程序,你可以使用两种通信协议:数据报通信(Datagram Communication)协议和流通信(Stream Communication)协议。它们都被Java所支持。 2-4-1 数据报通信协议 数据报通信协议,如UDP,为无连接协议。这就意味着你可以在任何时候发送数据报,当然,你仍需要发送本地的Socket描述符及接收方的Socket地址。正如你所知道的,在每一次建立通信时,都要发送这些附加的数据。 2-4-2 流通信协议 流通信协议最广为人知的如TCP协议。与UDP不同,TCP是一个面向连接的协议。为了使用TCP协议进行通信,必须先在两个Socket之间建立连接。其中一个Socket监听连接请求(服务器),另一个发出连接请求。一旦两个Socket之间建立了连接,它们就能被用来双向(或单向)传递数据。 2-4-3 UDP与TCP TCP用于实现不受传输数据长度限制的网络服务,如远程登录Telnet、FTP等。UDP的复杂程度较低,需要的开销也较小。它主要使用在构建于局域网之上的分布式系统中,客户/服务器应用程序的实现。一般情况下,你最好使用TCP,因为它提供了可靠的、面向连接的通信方式。如果应用程序协议句柄可靠,应用程序需要广播,或者应用程序不能忍受TCP的开销,那么可以使用UDP。本书此部分的大多数实例,都使用TCP协议。 2-5 客户/服务器通信 数据流 TCP Socket UDP Socket(数据报) 多点传送Socket 客户/服务器的Socket通信 2-5-1 数据流 当读写BufferedReader 和BufferedWriter 缓冲区数据时,就减少了对源数据的访问量。注意,具有缓冲的流比没有缓冲的流效率更高。 FilterInputStream和FilterOutputStream由一个非缓存的InputStream和OutputStream实例构造而成。它们通过缓存和刷新提高性能。 DataInputStream和DataOutputStream为读写原始数据类型提供高级服务。 FileReader、FileWriter、FileInputStream和F

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档