1、第14章 Java网络编程,Java语言提供了强大的网络编程功能,能够处理各种网络资源以及进行网络通信。包定义了Java语言网络编程的主要工具类。其中,包括代表网络IP地址的InetAddress类;与URL有关的URL类和URLConnection类;与网络通信有关的Socket类和ServerSocket类。本章包括以下知识点。Java网络编程概述InetAddress类URL类和URLConnection类Socket类和ServerSocket类通过学习本章内容,读者可以掌握使用java语言进行网络编程的基本技能。具体内容包括掌握InetAddress类、URL类和URLConnect
2、ion类、Socket类和ServerSocket类等各种工具类的使用。,14.1 网络编程概述,Internet技术的发展促进了Java语言的发展,网络编程是Java语言的重要功能。Java语言提供了强大的网络编程功能,能够处理各种网络资源以及进行网络通信。这些网络功能都定义在包中。对于net包中的内容,按功能形式,大体上可以分为如下三类。网络资源类:URL是资源的表达方式,在包中主要是通过使用URL和InetAddress类来表示和操作网络中的资源。Socket(套接字)类:Socket(套接字)用来实现网络通信中客户端和服务器的连接。包定义了Socket类和ServerSocket类分别
3、代表通信双方的客户端和服务器端。Datagram(数据报) 类:Datagram(数据报)类以数据报的形式实现网络通信,是基于无连接的UDP协议的一种网络通信方式。,14.2 InetAddress类,InetAddress类用于表示网络上的IP地址。网络中的每台主机采用IP地址进行标识,Java语言利用包中的InetAddress类对IP地址进行封装。该类提供了操作IP地址的各种方法,类本身没有构造方法,而是通过调用相关静态方法获取实例。,14.3 URL编程,包定义了URL类和URLConnection类用来处理有关URL的内容。对于这部分的具体内容,下面分别进行介绍。,14.3.1 UR
4、L的概念,URL是统一资源定位符(Uniform Resource Locator)的简称,用于表示Internet上某一资源的地址。Internet上的网络资源非常丰富,如常见的WWW和FTP站点上的各种文件、目录等。浏览器通过解析给定的URL可以查找网络上的这些资源。URL的语法格式通常如下所示。protocol:resourceName其中,参数protocol表示网络传输协议,如http、ftp等。参数resourceName表示完整的资源名,又可分为主机名、端口号、文件等几个部分。,14.3.2 URL类,在包中定义了URL类,该类用来处理有关URL的内容。对于URL类的创建和使用,
5、下面分别进行介绍。1创建URL类2使用URL类,14.3.3 URLConnection类,在包中定义了URLConnection类,该类用来表示与URL建立的通信连接。URLConnection类的实例通过调用URL类的openConnection()方法获得。,14.4 Socket编程,Socket(套接字)用来实现网络通信中客户端和服务器的连接。包定义了Socket类和ServerSocket类分别代表通信双方的客户端和服务器端。对于这部分的具体内容,下面分别进行介绍。,14.4.1 Socket类,Scoket类用于表示通信双方中的客户端,该类可以向服务器端发送连接请求。Scoket
6、类的构造方法主要有如下几种:Socket():无参构造方法。Socket(InetAddress address, int port):创建Socket对象,并连接到指定IP地址address的指定端口号port。Socket(InetAddress address, int port, InetAddress localAddr, int localPort):创建Socket对象,并连接到指定IP地址address的指定端口号port。同时绑定本机地址localAddr及本机端口号localPort。Socket(String host, int port):创建Socket对象,并连接到
7、指定主机host的指定端口号port。Socket(String host, int port, InetAddress localAddr, int localPort):创建Socket对象,并连接到指定主机host的指定端口号port。同时绑定本机地址localAddr及本机端口号localPort。,14.4.2 ServerSocket类,与Scoket类相对应,ServerSocket类用于表示通信双方中的服务器端。该类可以监听客户端发送的连接请求并进行处理。创建了ServerSocket类的对象以后,服务器可以对指定的端口进行监听。通过调用ServerSocket类的相关方法可以
8、接收客户端的请求从而与之通信。,14.5 上机实践,1编写程序,用本章介绍的URL类实现读取一个指定URL页面代码的功能。2编写程序,用Socket实现上述读取指定URL页面代码的功能。,14.6 小结,本章介绍了Java语言网络编程的相关内容,重点介绍了InetAddress类、URL类和URLConnection类、Socket类和ServerSocket类等各种工具类的具体使用。其中,Socket编程是本章的难点。在本书的第十七章将专门给出一个网络编程的综合实例。Java语言的网络编程功能足够强大,综合运用各种工具类能够开发出功能复杂的网络应用程序。下一章将介绍Java语言中Web编程方面的知识。,14.7 本章习题,1什么是URL?2举例说明Socket类与ServerScoket类各有什么用途?,