b java.net包源码详解

本文详细解读了Java中的java.net包,涵盖InetAddressImpl、InetAddress、SocketAddress等核心类,以及TCP和UDP套接字的实现,包括Socket、ServerSocket、DatagramSocket等。此外,还介绍了URLConnection及其相关组件,如URI、URL和Connection的处理。java.net包主要用于C/S结构的BIO模型,虽然效率较低,但它是Java早期网络编程的基础。
摘要由CSDN通过智能技术生成

—> go to 总目录

脑图有描绘java.net的结构。
java.net是java最早的网络编程工具包。主要是C/S结构的BIO模型,效率比较低。
常用的包有nio,以及netty包。

一、Addresses

  • 处理IP协议ipv4/ipv6
  • 处理socket地址(ip+port)
    在这里插入图片描述

名词解释

名称 翻译 描述
unicast 单播 指数据包发送一个目的地址,TCP和UDP都可以
multicast 和多播 多播数据包同时发送到多个目的地址,只有UDP可以

1.1 InetAddressImpl

inetAddressImpl一系列的类需要调用本地方法。这里类是私有的,用户不可见。会被注入到InetAddress类中。
在这里插入图片描述

  • anyLocalAddress是0.0.0.0

1.2 InetAddress类

在这里插入图片描述

  • originalHostName 原始的hostname的保留,对一些domain格式命名的host特别有用,比如 a.dome.s
  • hostname 主机标识
  • int address 地址
  • family 地址簇,ipv4 标识是1,ipv6标识是2

功能

  • 存储ip的元数据信息比如上面的hoder
  • 调用本地方法,获取hostname,ipv4,ipv6地址,回环地址
  • ip的地址是有不同性质的,比如是否是回环地址,网站地址,该地址是否有效。提供一系列is方法来判断。
  • 私有方法提供缓存机制
  • 工具方法提供域名解析,比如输入域名地址和域名返回Ip等

1.3 SocketAddress

ip+port的载体,被用于socket的binding和connecting或者返回值。
在这里插入图片描述

二、SOCKET 套接字

tcp是一个c/s结构,sockets分为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值