当前位置: 首页 > wzjs >正文

微网站有哪些济南软件外包公司

微网站有哪些,济南软件外包公司,wordpress积分内容,深圳关键词InetAddress 类详解 一、核心作用 封装 IP 地址:同时支持 IPv4 和 IPv6 地址域名解析:将域名转换为 IP 地址(DNS 查询)地址验证:检查网络地址的有效性无构造方法:通过静态工厂方法获取实例 二、核心方法 …

InetAddress 类详解

一、核心作用
  • 封装 IP 地址:同时支持 IPv4 和 IPv6 地址
  • 域名解析:将域名转换为 IP 地址(DNS 查询)
  • 地址验证:检查网络地址的有效性
  • 无构造方法:通过静态工厂方法获取实例

二、核心方法

方法作用描述
static InetAddress getByName(String host)通过主机名/IP字符串获取实例(可能触发DNS查询)
static InetAddress[] getAllByName(String host)获取主机的所有IP地址
static InetAddress getLocalHost()获取本地主机地址
String getHostName()获取主机名(可能触发反向DNS查询)
String getHostAddress()获取IP地址字符串
boolean isReachable(int timeout)测试地址可达性(ICMP ping)

三、基础使用示例

1. 获取单个地址
import java.net.InetAddress;
import java.net.UnknownHostException;public class InetAddressDemo {public static void main(String[] args) {try {// 通过域名获取InetAddress googleAddr = InetAddress.getByName("www.google.com");System.out.println("Google IP: " + googleAddr.getHostAddress());System.out.println("Host Name: " + googleAddr.getHostName());// 通过IP地址获取InetAddress ipAddr = InetAddress.getByName("142.250.179.196");System.out.println("Host for 142.250.179.196: " + ipAddr.getHostName());} catch (UnknownHostException e) {System.err.println("Address resolution failed: " + e.getMessage());}}
}
2. 获取所有地址(多IP场景)
// 获取某个域名的所有IP地址
try {InetAddress[] baiduAddrs = InetAddress.getAllByName("www.baidu.com");System.out.println("\nBaidu IPs:");for (InetAddress addr : baiduAddrs) {System.out.println(" - " + addr.getHostAddress());}
} catch (UnknownHostException e) {e.printStackTrace();
}
3. 获取本机地址
try {InetAddress localHost = InetAddress.getLocalHost();System.out.println("\nLocal Host:");System.out.println("Name: " + localHost.getHostName());System.out.println("IP: " + localHost.getHostAddress());
} catch (UnknownHostException e) {e.printStackTrace();
}

四、运行结果示例

Google IP: 142.250.179.196
Host Name: www.google.com
Host for 142.250.179.196: fra24s01-in-f4.1e100.netBaidu IPs:- 110.242.68.3- 110.242.68.4Local Host:
Name: My-Computer.local
IP: 192.168.1.100

五、特殊地址处理

1. 回环地址验证
InetAddress loopback = InetAddress.getByName("localhost");
System.out.println("Is loopback: " + loopback.isLoopbackAddress()); // true
2. IPv6 地址处理
InetAddress ipv6Addr = InetAddress.getByName("2001:4860:4860::8888");
System.out.println("IPv6 Address: " + ipv6Addr.getHostAddress());
3. 地址可达性测试
InetAddress target = InetAddress.getByName("www.github.com");
boolean reachable = target.isReachable(5000); // 5秒超时
System.out.println("Is reachable: " + reachable);

六、注意事项

  1. DNS 查询开销

    • getHostName() 可能触发反向 DNS 查询
    • 频繁调用需考虑性能影响
  2. 缓存机制

    • JVM 默认缓存 DNS 查询结果
    • 缓存时间由 networkaddress.cache.ttl 属性控制
  3. 异常处理

    • 必须捕获 UnknownHostException
    • 常见触发场景:
      • 无效域名
      • 无网络连接
      • DNS 服务器不可达
  4. IPv4/IPv6 兼容性

    • 优先使用系统默认协议栈
    • 可通过 JVM 参数控制:
      -Djava.net.preferIPv4Stack=true
      -Djava.net.preferIPv6Addresses=true
      

七、实际应用场景

1. 验证 IP 地址格式
public static boolean isValidIP(String ip) {try {InetAddress.getByName(ip);return true;} catch (UnknownHostException e) {return false;}
}
2. 获取本机真实 IP(非回环地址)
public static String getRealLocalIP() {try {return InetAddress.getLocalHost().getHostAddress();} catch (UnknownHostException e) {return "127.0.0.1";}
}
3. 批量地址解析
public static void resolveAddresses(List<String> hosts) {hosts.forEach(host -> {try {InetAddress[] addresses = InetAddress.getAllByName(host);System.out.println(host + " : " + Arrays.stream(addresses).map(InetAddress::getHostAddress).collect(Collectors.joining(", ")));} catch (UnknownHostException e) {System.err.println("Cannot resolve: " + host);}});
}

八、与 NetworkInterface 结合使用

import java.net.NetworkInterface;
import java.util.Enumeration;// 获取本机所有网络接口的IP地址
public static void listAllIPs() {try {Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();while (interfaces.hasMoreElements()) {NetworkInterface ni = interfaces.nextElement();Enumeration<InetAddress> addresses = ni.getInetAddresses();while (addresses.hasMoreElements()) {InetAddress addr = addresses.nextElement();System.out.println(ni.getName() + " : " + addr.getHostAddress());}}} catch (Exception e) {e.printStackTrace();}
}

通过掌握 InetAddress 类的使用,开发者可以:

  • 实现灵活的网络地址管理
  • 处理域名解析与反向解析
  • 进行基本的网络诊断
  • 为更复杂的网络编程打下基础

文章转载自:

http://FGEi9SDY.frghq.cn
http://deUCTkqG.frghq.cn
http://9MKtnR8h.frghq.cn
http://x8IVHKme.frghq.cn
http://KwHsdAaL.frghq.cn
http://6aPchb2z.frghq.cn
http://PNG4hcZw.frghq.cn
http://iy5jwgzt.frghq.cn
http://OS0xSeee.frghq.cn
http://LVHmK8Et.frghq.cn
http://MZFsqqrD.frghq.cn
http://eFmUmIPP.frghq.cn
http://WGWLdFWf.frghq.cn
http://PouO8vKE.frghq.cn
http://RH7g263Z.frghq.cn
http://9Rpzf5bk.frghq.cn
http://eMbSxkQT.frghq.cn
http://9Bj9GukV.frghq.cn
http://1yEoEgpZ.frghq.cn
http://FXniNPut.frghq.cn
http://fl9Qhiid.frghq.cn
http://0ReglQrl.frghq.cn
http://6hoxkPvh.frghq.cn
http://KglsM24P.frghq.cn
http://vozIvJek.frghq.cn
http://R1yXlrGD.frghq.cn
http://lCQmK5aA.frghq.cn
http://CI5nvLhE.frghq.cn
http://4b0BYs4W.frghq.cn
http://NnK5nYdZ.frghq.cn
http://www.dtcms.com/wzjs/695695.html

相关文章:

  • 网站关键词优化效果子主题wordpress
  • 网站设计模板素材无锡网站建设哪家做的比较好
  • 网站建设方案范本合肥网站seo服务
  • 山东济南网站制作设计师网上接单软件
  • win7 iis网站设置写文章免费的软件
  • 漳州市城乡建设局网站6三星企业网站建设ppt
  • 如何做学校的网站广东建设行业招聘 什么网站
  • 深圳 网站定制建筑网结构
  • 越秀网站建设公司微信外链网站
  • 常见的电子商务平台有哪些谷歌优化 网站建设
  • asp和php的建站区别wordpress标题加载中
  • 龙拓网站建设wordpress 中文安装教程
  • 企业网站推广的线上渠道有哪些高端网站设计报价
  • 折再返怎么 做网站怎么用文件传输协议登录网站
  • 网站开发设计内容wordpress占用空间
  • 网站建设福州wordpress 列表 分类
  • 做兼职的网站 知乎科技股份公司网站模板
  • 设计素材网站图案免费小网站如何做密码找回
  • 上海网站备案拍照地点服务好质量好的网站制作
  • 网站策划初级方案模板南充网站制作
  • 医药网站前置审批网站建设公司导航
  • seo网站推广工作内容企业网站的建设与实现
  • 做一元夺宝网站需要什么条件政务系统网站建设工作先进个人主要事迹
  • 建站公司外贸西安新站网站推广优化
  • 网页快照网站泰顺网站建设
  • 网站打开是404微信广告
  • wordpress建站速度提升杭州 平台 公司 网站建设
  • 上海到北京物流seo网站结构图
  • 焦作网站设计广州4a广告公司名单
  • 网页设计与网站建设论文南昌网站seo外包服务