版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第14章 Java网络编程Java语言提供了强大的网络编程功能,能够处理各种网络资源以及进行网络通信。包定义了Java语言网络编程的主要工具类。其中,包括代表网络IP地址的InetAddress类;与URL有关的URL类和URLConnection类;与网络通信有关的Socket类和ServerSocket类。本章节将对这些内容进行详细介绍。14.1 什么是网络编程Internet技术的发展促进了Java语言的发展,网络编程是Java语言的重要功能。Java语言提供了强大的网络编程功能,能够处理各种网络资源以及进行网络通信。这些网络功能都定义在包中。net包的结构如图14.1所示。14.1 什
2、么是网络编程对于net包中的内容,按功能形式,大体上可以分为如下三类。网络资源类:URL是资源的表达方式,在包中主要是通过使用URL和InetAddress类来表示和操作网络中的资源。Socket(套接字)类:Socket(套接字)用来实现网络通信中客户端和服务器的连接。包定义了Socket类和ServerSocket类分别代表通信双方的客户端和服务器端。Datagram(数据报)类:Datagram(数据报)类以数据报的形式实现网络通信,是基于无连接的UDP协议的一种网络通信方式。14.2 InetAddress类InetAddress类用于表示网络上的IP地址。网络中的每台主机采用IP地址
3、进行标识,Java语言利用包中的InetAddress类对IP地址进行封装。该类提供了操作IP地址的各种方法,类本身没有构造方法,而是通过调用相关静态方法获取实例。InetAddress类中定义的主要方法,如下所示。boolean equals(Object obj):将此对象与指定对象比较。byte getAddress():返回此InetAddress对象的原始IP地址。static InetAddress getAllByName(String host):在给定主机名的情况下,根据系统上配置的名称,服务返回其IP地址所组成的数组。static InetAddress getByAddr
4、ess(byte addr):在给定原始IP地址的情况下,返回InetAddress对象。static InetAddress getByAddress(String host, byte addr):根据提供的主机名和IP地址创建InetAddress。static InetAddress getByName(String host):在给定主机名的情况下确定主机的IP地址。String getCanonicalHostName():获取此IP地址的完全限定域名。String getHostAddress():返回IP地址字符串(以文本表现形式)。String getHostName():获
5、取此IP地址的主机名。static InetAddress getLocalHost():返回本地主机。int hashCode():返回此IP地址的哈希码。14.3 URL编程包定义了URL和URLConnection类用来处理有关URL的内容。对于这部分的具体内容,下面分别进行介绍。14.3.1 什么是URLURL是统一资源定位符(Uniform Resource Locator)的简称,用于表示Internet上某一资源的地址。Internet上的网络资源非常丰富,如常见的WWW和FTP站点上的各种文件、目录等。浏览器通过解析给定的URL可以查找网络上的这些资源。URL的语法格式通常如图
6、14.2所示。14.3.2 URL类在包中定义了URL类,该类用来处理有关URL的内容。对于URL类的创建和使用,下面分别进行介绍。1创建URL类URL类的构造方法主要有如下几种URL(String spec):使用指定的字符串构建。URL(String protocol, String host, int port, String file):使用指定的协议、主机名、端口号、文件名创建。URL(String protocol, String host, String file):使用指定的协议、主机名、文件名创建。URL(URL context, String spec):使用基地址和相对U
7、RL创建。2使用URL类使用URL类的常用方法主要有如下几种。String getAuthority():获得此URL的授权部分。Object getContent():获得此URL的内容。int getDefaultPort():获得与此URL关联协议的默认端口号。String getFile():获得此URL的文件名。String getHost():获得此URL的主机名(如果适用)。String getPath():获得此URL的路径部分。int getPort():获得此URL的端口号。String getProtocol():获得此URL的协议名称。String getQuery()
8、:获得此URL的查询部分。String getRef():获得此URL的锚点(也称为“引用”)。14.3.3 URLConnection类在包中定义了URLConnection类,该类用来表示与URL建立的通信连接。URLConnection类的实例通过调用URL类的openConnection()方法获得。URLConnection类用于访问网络资源的主要方法如下所示。void addRequestProperty(String key, String value):添加由键值对指定的一般请求属性。abstract void connect():打开到此URL引用的资源的通信链接(如果尚未建
9、立这样的连接)。Object getContent():检索此URL连接的内容。long getDate():返回date头字段的值。boolean getDefaultUseCaches():返回URLConnection的useCaches标志的默认值。InputStream getInputStream():返回从此打开的连接读取的输入流。OutputStream getOutputStream():返回写入到此连接的输出流。URL getURL():返回此URLConnection的URL字段的值。boolean getUseCaches():返回此URLConnection的useC
10、aches字段的值。14.4 Socket编程Socket(套接字)用来实现网络通信中客户端和服务器的连接。包定义了Socket类和ServerSocket类分别代表通信双方的客户端和服务器端。对于这部分的具体内容,下面分别进行介绍。14.4.1 Socket类Socket类用于表示通信双方中的客户端,该类可以向服务器端发送连接请求。Socket类的构造方法主要有如下几种。Socket():无参构造方法。Socket(InetAddress address, int port):创建Socket对象,并连接到指定IP地址address的指定端口号port。Socket(InetAddress
11、address, int port, InetAddress localAddr, int localPort):创建Socket对象,并连接到指定IP地址address的指定端口号port。同时绑定本机地址localAddr及本机端口号localPort。Socket(String host, int port):创建Socket对象,并连接到指定主机host的指定端口号port。Socket(String host, int port, InetAddress localAddr, int localPort):创建Socket对象,并连接到指定主机host的指定端口号port。同时绑定本
12、机地址localAddr及本机端口号localPort。 创建了Socket类的对象以后,可以调用Socket类的相关方法获取各种属性信息以及与服务器进行通信。Socket类的常用方法如下所示。void bind(SocketAddress bindpoint):将套接字绑定到本地地址。void close():关闭此套接字。14.4.2 ServerSocket类与Socket类相对应,ServerSocket类用于表示通信双方中的服务器端。该类可以监听客户端发送的连接请求并进行处理。ServerSocket类的构造方法主要有如下几种。ServerSocket ():无参构造方法。Serve
13、rSocket (int port):创建ServerSocket对象,并监听指定的端口号port。ServerSocket (int port, int backlog):使用指定的backlog创建ServerSocket对象,同时绑定到指定的本地端口号port。ServerSocket(int port, int backlog, InetAddress bindAddr):使用指定的端口号port创建ServerSocket对象,同时监听backlog并绑定本地IP地址bindAddr。创建了ServerSocket类的对象以后,服务器可以对指定的端口进行监听。通过调用ServerSocket类的相关方法可以接收客户端的请求从而与之通信。ServerSocket类的常用方法如下所示。Socket accept():侦听并接收到此套接字的连接。void bind(SocketAddress endpoint):将ServerSocket绑定到特定地址(IP地址和端口号)。说明:ServerSocket类的accetp()方法会阻塞程序的执行,直到接收了一个客户端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年陕西省榆林十中高考语文模拟试卷(一)
- 2025年《价值为纲》学习心得例文(6篇)
- 彩色喷墨打印材料项目融资计划书
- 物流行业2025版租赁协议6篇
- 2025版宿舍楼宿管员职责聘用合同3篇
- 2025年度新型存款居间代理管理合同4篇
- 2025年度知识产权质押贷款协议4篇
- 2025版托盘销售与新能源车辆运输服务合同范本3篇
- 2025年度个人与银行个人贷款合作专项协议4篇
- 二零二五年度婴幼儿奶粉品牌孵化与市场拓展合同
- 2024版塑料购销合同范本买卖
- JJF 2184-2025电子计价秤型式评价大纲(试行)
- GB/T 44890-2024行政许可工作规范
- 2024年安徽省中考数学试卷含答案
- 2025届山东省德州市物理高三第一学期期末调研模拟试题含解析
- 2024年沪教版一年级上学期语文期末复习习题
- 两人退股协议书范文合伙人签字
- 2024版【人教精通版】小学英语六年级下册全册教案
- 汽车喷漆劳务外包合同范本
- 2024年重庆南开(融侨)中学中考三模英语试题含答案
- 16J914-1 公用建筑卫生间
评论
0/150
提交评论