Java网络编程要点解析.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 网络编程 11.1 网络编程的基本概念 Java作为一种与平台无关的语言,从一出现就与网络有关极其密切的关系,因为Java写的程序可以在网络上直接运行,使用Java,只需编写简单的代码就能实现强大的网络功能。下面将介绍几个与Java网络编程有关的概念。 TCP/IP协议概述 在编写网络通信的Java程序时,是在应用层编写程序的,所以根本不必关心TCP/IP的层次,只要用包中的类即可,这些类提供了系统无关的网络通信服务。但是即使如此,也需了解一下TCP/IP协议。 确切地说,TCP/IP协议是一组包括TCP协议和IP协议、UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议族。TCP/IP通信协议采用了4层的层级结构,每一层都使用它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。 下面简单介绍TCP/IP中的几个主要协议的功能。 1.IP协议 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 2.TCP协议 TCP是Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。 如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向“上”传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 TCP是可靠的、面向连接的、连续的、流的协议。当应用程序需要一个可靠的、点对点的连接进行通信时,就用TCP协议。像HTTP、FTP、Telnet等应用程序都需要一个可靠的通信媒介。数据在网络上发送和接收的次序对于能否成功的应用HTTP读取URL资源是很重要的,数据的接收次序与发送的次序必须一样,否则就会收到一些错误的信息。 对于许多应用程序来说,这种可靠性的保证是能否成功传输信息的关键。然而,这种可靠的传输方式并非对所有的应用程序都适合。事实上,TCP需要花费大量的时间和带宽来保证可靠传输,有一些场合可靠传输并不是必须的。 3.UDP协议 UDP是User Datagram Protocol(用户数据报协议)的简称,是一种无连接的、不可靠的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。但是这个协议的速度却比较快,所以在现在网络基础设施越来越好的情况下,使用UDP协议的应用程序也越来越多了。 在Java的类库中,URL、URLConnection、Socket、SocketServer类都是利用TCP在网络上通信的;而DatagramPacket和DatagramServer类是使用UDP的。本章将主要讲述利用TCP协议进行通信的各个类。 Socket套接字 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket,即Socket是面向客户/服务器模型设计的,通常用Socket来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。 Socket通信机制提供了两种通信方式:有连接和无连接方式,分别面向不同的应用需求。使用有连接方式时,通信链路提供了可靠的,全双工的字节流服务。在该方式下,通信双方必须创建一个连接过程并建立一条通信链路,以后的网络通信操作完全在这一对进程之间进行,通信完毕则

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档