码迷,mamicode.com
首页 > 编程语言 > 详细

JDK_API剖析之java.net包

时间:2018-02-13 13:35:07      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:格式   log   分离   互联网   一个   开始   stp   机器   关联   

为实现网络应用程序提供类。(按照字母顺序排序)

1、Authenticator

  • 抽象类
  • 自1.2开始有
  • 无父类和接口
  • Authenticator 类表示懂得如何获得网络连接验证的对象。通常,它通过提示用户输入信息来完成此操作。应用程序通过重写子类中的 getPasswordAuthentication() 使用此类。此方法通常使用各种 getXXX() 访问器方法获取关于请求验证的实体的信息。然后,它必须通过与用户交互或者某些其他非交互手段获取用户名和密码。之后凭据将以 PasswordAuthentication 返回值的形式返回。接下来通过调用 setDefault(Authenticator) 向系统注册此具体子类的实例。需要进行验证时,系统将调用其中一个 requestPasswordAuthentication() 方法,这些方法将依次调用注册对象的 getPasswordAuthentication() 方法。请求验证的所有方法都有一个失败的默认实现

2、BindException

  • 类、异常
  • 自1.1开始有
  • 继承SocketException
  • 试图将套接字绑定到本地地址和端口时发生错误的情况下,抛出此异常。这些错误通常发生在端口正在使用中或无法分配所请求的本地地址时。

3、CacheRequest

  • 抽象类
  • 自1.5开始有
  • 无父类和接口
  • 表示在 ResponseCache 中存储资源的通道。这种类的实例提供一个 OutputStream 对象,协议处理程序可以调用该对象来将资源数据存储到缓存中;另外还提供一个 abort() 方法,该方法允许中断和放弃缓存存储操作。如果从缓存读取响应或将响应写入缓存时遇到 IOException,则将中止当前缓存存储操作。

4、CacheResponse

  • 抽象类
  • 自1.5开始有
  • 无父类和接口
  • 表示从 ResponseCache 获取资源的通道。这种类的实例提供返回实体正文的 InputStream,同时提供一个返回关联响应头的 getHeaders() 方法。

5、ConnectException

  • 类、异常
  • 自1.1开始有
  • 继承SocketException
  • 试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。这些错误通常发生在拒绝远程连接时(例如,没有任何进程在远程地址/端口上进行侦听)。

6、ContentHandler

  • 抽象类
  • 自1.0开始有
  • 无父
  • 抽象类 ContentHandler 是从 URLConnection 读取 Object 的所有类的超类。应用程序一般不直接调用此类中的 getContent 方法。而是调用 URLURLConnection 类中的 getContent 方法。应用程序的内容处理程序工厂(实现 ContentHandlerFactory 接口的类的实例,该接口通过调用 setContentHandler 设置)通过某个 String 来调用,该 String 给出将在套接字上接收的对象的 MIME 类型。工厂返回 ContentHandler 的子类的实例,并调用其 getContent 方法创建对象。

7、ContentHandlerFactory

  • 接口
  • 自1.0开始有
  • 无父
  • 此接口定义内容处理程序的工厂。此接口的实现应该将 MIME 类型映射到 ContentHandler 的实例中。URLStreamHandler 类使用此接口创建 MIME 类型的 ContentHandler

  • 创建从 URLStreamHandler 读取对象的新 ContentHandler的方法createContentHandler(String mimetype)

8、CookieHandler

  • 抽象类
  • 自1.5开始有
  • 无父
  • CookieHandler 对象提供一种回调机制以将 HTTP 状态管理策略实现挂钩到 HTTP 协议处理程序。HTTP 状态管理机制利用 HTTP 请求和响应指定创建有状态的会话的方式。

    可以通过执行 CookieHandler.setDefault(CookieHandler) 来注册 HTTP 协议处理程序要使用的系统级 CookieHandler。调用 CookieHandler.getDefault() 可以获取当前注册的 CookieHandler。 有关 HTTP 状态管理的更多信息,请参见 RFC 2965: HTTP 状态管理机制

9、CookieManager

  • 抽象类
  • 自1.6开始有
  • 继承CookieHandler
  • CookieManager 提供 CookieHandler 的具体实现,它将 cookie 的存储区与围绕接受和拒绝 cookie 的策略分离开来。使用管理存储的 CookieStore 以及做出 cookie 接受/拒绝决策的 CookiePolicy 对象来初始化 CookieManager。

    java.net 包中的 HTTP cookie 管理如下所示:

    use
    CookieHandler <------- HttpURLConnection
           ^
    | impl
    |         use
    CookieManager -------> CookiePolicy
    |   use
    |--------> HttpCookie
                 |              ^
    |              | use
    |   use        |
    |--------> CookieStore
                                ^
    | impl
                                |
    Internal in-memory implementation 

10、CookiePolicy

  • 接口
  • 自1.6开始有
  • 无父
  • CookiePolicy 实现决定应该接受哪个 cookie 以及应该拒绝哪个 cookie。提供了三种预定义的策略实现,即 ACCEPT_ALL、ACCEPT_NONE 和ACCEPT_ORIGINAL_SERVER。

11、CookieStore

  • 接口
  • 自1.6开始有
  • 无父
  • 表示 cookie 存储区的 CookieStore 对象。可以存储和获取 cookie。CookieManager 将调用 CookieStore.add 为每个传入的 HTTP 响应保存 cookie,调用 CookieStore.get 为每个传出的 HTTP 请求获取 cookie。CookieStore 负责移除已过期的 HttpCookie 实例。

12、DatagramPacket

  • final类
  • 自1.0开始有
  • 无父
  • 此类表示数据报包。数据报包用来实现无连接包投递服务。每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。不对包投递做出保证。

13、DatagramSocket

  • 自1.0开始有
  • 无父
  • 此类表示用来发送和接收数据报包的套接字。

    数据报套接字是包投递服务的发送或接收点。每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。

    在 DatagramSocket 上总是启用 UDP 广播发送。为了接收广播包,应该将 DatagramSocket 绑定到通配符地址。在某些实现中,将 DatagramSocket 绑定到一个更加具体的地址时广播包也可以被接收。

    示例:DatagramSocket s = new DatagramSocket(null); s.bind(new InetSocketAddress(8888)); 这等价于:DatagramSocket s = new DatagramSocket(8888); 两个例子都能创建能够在 UDP 8888 端口上接收广播的 DatagramSocket。

14、DatagramSocketImpl

  • 抽象类
  • 自1.1开始有
  • 实现SocketOptions
  • 数据报和多播套接字实现的抽象基类。

15、DatagramSocketImplFactory

  • 接口
  • 自1.3开始有
  • 无父
  • 此接口定义用于数据报套接字实现的工厂。DatagramSocket 类使用它来创建实际的套接字实现。

  • 方法DatagramSocketImpl  createDatagramSocketImpl()

16、FileNameMap

  • 接口
  • 自1.3开始有
  • 无父
  • 提供在文件名和 MIME 类型字符串之间进行映射的机制的简单接口。

  • 方法String getContentTypeFor(String fileName),获取指定文件名的 MIME 类型。

17、HttpCookie

  • final类
  • 自1.6开始有
  • 实现Cloneable
  • HttpCookie 对象表示一个 http cookie,该 cookie 带有服务器和用户代理之间的状态信息。广泛采用 Cookie 来创建有状态 (stateful) 会话。

18、HttpURLConnection

  • 抽象类
  • 自1.1开始有
  • 继承URLConnection
  • 支持 HTTP 特定功能的 URLConnection。有关详细信息,请参阅 the spec 。每个 HttpURLConnection 实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络。请求后在 HttpURLConnection 的 InputStream 或 OutputStream 上调用 close() 方法可以释放与此实例关联的网络资源,但对共享的持久连接没有任何影响。如果在调用 disconnect() 时持久连接空闲,则可能关闭基础套接字。

19、IDN

  • final类
  • 自1.6开始有
  • 无父
  • 提供在普通 Unicode 表示形式和 ASCII 兼容性编码 (ACE) 表示形式之间进行国际化域名 (IDN) 转换的方法。国际化域名可以使用整个 Unicode 范围内的字符,而传统域名只限于 ASCII 字符。ACE 是只使用 ASCII 字符的 Unicode 字符串编码方式,能够与只识别传统域名的软件(如 Domain Name System)一起使用。

20、Inet4Address

  • final类
  • 自1.4开始有
  • 继承InetAddress
  • 此类表示 Internet Protocol version 4 (IPv4) 地址。此类是由 RFC 790:Assigned NumbersRFC 1918:Address Allocation for Private InternetsRFC 2365:Administratively Scoped IP Multicast 定义的。

    IP 地址的文本表示形式

    用作方法输入的 IPv4 地址的文本表示形式采取以下形式之一:

    d.d.d.d
    d.d.d
    d.d
    d

    当指定四个部分时,将每个部分解释为一个数据字节,并从左到右分配给 IPv4 地址的四个字节。

    当指定三部分地址时,将最后一个部分解释为 16 位量,并放置在网络地址的最右边两个字节。这使得三部分地址格式便于将 Class B 网络地址指定为 128.net.host。

    当提供两部分地址时,将最后一个部分解释为 24 位量,并放置在网络地址的最右边三个字节。这使得两部分地址格式便于将 Class A 网络地址指定为 net.host。

    当仅给出一个部分时,值被直接存储在网络地址中,无需进行字节重排。

    对于将文本表示形式作为输出值返回的方法而言,使用第一种形式,即使用以点分隔的四个字符串。

21、Inet6Address

  • final类
  • 自1.4开始有
  • 继承InetAddress
  • 此类表示互联网协议第 6 版 (IPv6) 地址。

22、InetAddress

  • 自1.0开始有
  • 实现Serializable
  • 此类表示互联网协议 (IP) 地址。

23、InetSocketAddress

  • 自1.0开始有
  • 继承SocketAddress
  • 此类表示互联网协议 (IP) 地址。

 

JDK_API剖析之java.net包

标签:格式   log   分离   互联网   一个   开始   stp   机器   关联   

原文地址:https://www.cnblogs.com/yang75n/p/8446397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!