第九章 Java语言网络编程.ppt
文本预览下载声明
第九章 Java语言网络编程 一、Java网络编程概述 二、URL编程 三、Socket编程 一、Java网络编程概述 一个程序员要想自如地进行网络编程,必须对网络的基本结构和概念有一定的了解。计算机之间通信要遵循一定的规则,通信协议就是计算机之间进行通信所要遵循的各种规则的集合。Internet网络通信主要使用的协议有适用于网络层的IP协议(IP协议使用IP地址使数据投递到正确的计算机上)、适用于传输层的TCP、UDP(TCP和UDP协议使用端口号PORT将数据投递给正确的应用程序)协议、适用于应用层的HTTP、FTP、SMTP、NNTP(通过HTTP、FTP、SMTP以及NNTP协议解释数据内容)协议等。特别是在Internet上编程,则对TCP/IP协议要有一定的了解。 一、Java网络编程概述 在TCP/IP中有三个最常用的协议,理解这三个协议(IP,TCP,UDP)之间的交互对开发网络应用程序是至关重要的。 1. IP网间协议:Internet将消息从一个主机传递到另一个主机使用的协议称为网间协议,这是Internet网络协议。网间协议负责将消息发送到指定接收主机,可以适用广域网或局域网,高速网或低速网,无线网或有线网等几乎所有类型的网络通信技术。 2. TCP传输控制协议:TCP是一种可靠的面向连接的传送服务,消息在传递时被分解成一个个的小包,传输控制协议负责收集这些信息包,并将其按适当的次序发送,在接收端收到后再将其正确地还原。传输控制协议处理了IP协议中没有处理的通信问题,向应用程序提供可靠的通信连接,能够自动适应网络的变化,保证数据包在传送中的正确无误。 3. UDP用户数据包协议:它和TCP一样位于传输层,和IP协议配合使用,实现的是不可靠的、无连接的数据报服务,在传输数据时省去包头,但它不能提供数据包的重传。常用于客户/服务器模式中,省去建立连接和拆除连接的开销。 一、Java网络编程概述 Java语言关于网络资源的编程主要体现在三个方面:一是在Applet小程序中建立同其他URL的连接,二是对服务器上的文件进行操作,三是建立网络通讯协议。Java语言为方便网络编程设计了许多有关的类,如URL类、URLconnection类以及网络通讯的Socket和ServerSocket类。 Java语言中网络编程可在三个层次上进行,一是URL层次,即最高级层次。它利用URL直接进行Internet上的资源访问和数据传输。二是Socket层次,即传统网络编程经常采用的方式,它通过在Client/Server(客户机/服务器)结构的应用程序之间建立Socket套接字连接,然后在连接之上进行数据通信,它是一种经常采用的通信模式。三是Datagram数据流层次,即最低级层次,它是使用用户数据报协议(UDP)的通信方式。 二、URL编程 URL类 1. URL URL(Uniform Resource Locator)统一资源定位器用于表示网络资源的地址。网络上的每个资源都有它固定的地址,使用时需要首先知道它的URL,并通过URL和URLConnection类中的方法获取网络资源。 URL的结构分为两部分:传输协议和资源名称,中间用://分隔开,传输协议说明访问资源时使用的网络协议。资源名称的格式与所使用的传输协议有关,通常由以下结构格式中一个或几个组成:(1)主机名称(host name):资源所在主机的名称。(2)文件名(filename):资源在机器上的完整名字(包括文件的完整路径名)。(3)端口号(port number):连接时所使用的服务器端口号。(4)参考点(reference):资源中的特定位置,用来标识一个文件中特定的偏移位置。 二、URL编程 2. J包中URL类定义 URL类中定义了许多简单实用的方法,利用它们可以进行一些有关URL的操作。如获取URL属性信息的有getProtocol()方法(获取URL中的传输协议,返回值为String类型)、getHost()方法(获取URL中的主机名称,返回值为String类型)、getPort()方法(获取URL中的端口号,返回值为int类型)、getFile()方法(获取资源的文件名,返回值为String类型)、getRef()方法(获取URL中的参考点,返回值为String类型)以及操作URL资源的openStream()方法(与服务器上的文件建立一个输入流的连接)、toString()方法(将URL的内容转成字符串)、same File()方法(用于比较判断两个URL的数据是否相同)等。 二、URL
显示全部