第11章网络编程教学目的要求 ; URL 获取网络资源的方法; TCP 的网络通信技术。 网络编程的基本概念?Java 作为一种与平台无关的语言,从一出现就与网络有关极其密切的关系,因为Java 写的程序可以在网络上直接运行, 使用 Java ,只需编写简单的代码就能实现强大的网络功能。下面将介绍几个与 Java 网络编程有关的概念。 TCP/IP 协议概述?在编写网络通信的 Java 程序时,是在应用层编写程序的,所以根本不必关心 TCP/IP 的层次, 只要用 包中的类即可,这些类提供了系统无关的网络通信服务。但是即使如此,也需了解一下 TCP/IP 协议。?确切地说, TCP/IP 协议是一组包括 TCP 协议和 IP 协议、 UDP ( User Datagram Protocol )协议、 ICMP ( Control Message Protocol )协议和其他一些协议的协议族。 TCP/IP 通信协议采用了 4 层的层级结构,每一层都使用它的下一层所提供的网络来完成自己的需求。这 4层分别为: –应用层:应用程序间沟通的层,如简单电子邮件传输( SMTP )、文件传输协议( FTP )、网络远程访问协议( )等。–传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议( TCP )、用户数据报协议( UDP )等, TCP 和 UDP 给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。–互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议( IP)。–网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如 、 Serial Line 等) 来传送数据。下面简单介绍 TCP/IP 中的几个主要协议的功能。 协议?网际协议 IP是 TCP/IP 的心脏,也是网络层中最重要的协议。? IP 层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层—— TCP 或 UDP 层;相反, IP 层也把从 TCP 或 UDP 层接收来的数据包传送到更低层。 IP 数据包是不可靠的,因为 IP 并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。 IP 数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 协议? TCP 是 Tranfer Control Protocol 的简称, 是一种面向连接的保证可靠传输的协议。通过 TCP 协议传输,得到的是一个顺序的无差错的数据流。?如果 IP 数据包中有已经封好的 TCP 数据包,那么 IP 将把它们向“上”传送到 TCP 层。 TCP 将包排序并进行错误检查,同时实现虚电路间的连接。 TCP 数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。? TCP 是可靠的、面向连接的、连续的、流的协议。当应用程序需要一个可靠的、点对点的连接进行通信时,就用 TCP 协议。像 HTTP 、 FTP 、 等应用程序都需要一个可靠的通信媒介。数据在网络上发送和接收的次序对于能否成功的应用 HTTP 读取 URL 资源是很重要的,数据的接收次序与发送的次序必须一样, 否则就会收到一些错误的信息。?对于许多应用程序来说,这种可靠性的保证是能否成功传输信息的关键。然而,这种可靠的传输方式并非对所有的应用程序都适合。事实上, TCP 需要花费大量的时间和带宽来保证可靠传输,有一些场合可靠传输并不是必须的。 协议? UDP 是 User Datagram Protocol (用户数据报协议)的简称,是一种无连接的、不可靠的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地, 到达目的地的时间以及内容的正确性都是不能被保证的。但是这个协议的速度却比较快,所以在现在网络基础设施越来越好的情况下,使用 UDP 协议的应用程序也越来越多了。?在Java 的 类库中, URL 、 URLConnection 、 Socket 、 SocketServer 类都是利用 TCP 在网络上通信的; 而 DatagramPacket 和 DatagramServer 类是使用 UDP 的。本章将主要讲述利用 TCP 协议进行通信的各个类。 Socket 套接字?网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个 Socket ,即 Socket 是面向客户/ 服务器模型设计的,通常用 Socket
Java教材课件11.ppt 来自淘豆网m.daumloan.com转载请标明出处.