首页 > 编程语言 >20230627 java.net.InetAddress

20230627 java.net.InetAddress

时间:2023-08-29 17:13:29浏览次数:47  
标签:20230627 qq Console log java InetAddress net com

介绍

  • java.net.InetAddress
  • public class InetAddress implements java.io.Serializable
  • 因特网地址,是一串数字表示的主机地址(IPv4 是 4 字节,IPv6 是 16 字节)
  • 支持在主机名和因特网地址之间进行转换
  • 封装了一个字节序列(IPv4 是 4 字节),byte 的取值范围是 [-126, 125) ,IPv4 的大小是 [0, 255] ,所以超过 125 的是负数表示,例如 183.3.226.35 表示为字节数组 [-73, 3, -30, 35]

API

static

  • getByAddress
    • 返回代表某个主机的 InetAddress 对象
  • getByName
    • 通过主机名获取 InetAddress
  • getAllByName
    • 获取主机名对应的所有 InetAddress
  • getLocalHost
    • 获取本地主机的地址
  • getLoopbackAddress
    • 返回环回地址,IPv4 环回地址一般是 127.0.0.1

public

  • getAddress

    • 返回字节数组
  • getHostAddress

    • 返回一个由十进制数组成的字符串,各数字间用圆点符号隔开,例如,129.6.15.28
  • getHostName

    • 返回主机名
  • getCanonicalHostName

    • 返回主机名
    • 从 NameService 获取
  • isReachable

    • 测试该地址是否可达
  • isAnyLocalAddress

  • isLinkLocalAddress

  • isLoopbackAddress

  • isMulticastAddress

  • isSiteLocalAddress

  • isMCGlobal

  • isMCLinkLocal

  • isMCNodeLocal

  • isMCOrgLocal

  • isMCSiteLocal

示例代码

import cn.hutool.core.lang.Console;
import org.junit.jupiter.api.Test;

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * TestInetAddress
 *
 * @date 2023/6/27
 */
public class TestInetAddress {
    @Test
    public void test1() throws UnknownHostException {
        InetAddress localHost = InetAddress.getLocalHost();
        InetAddress loopbackAddress = InetAddress.getLoopbackAddress();
        Console.log(localHost);     // 电脑主机名称/局域网IPv4地址
        Console.log(loopbackAddress);   // localhost/127.0.0.1


        InetAddress byName = InetAddress.getByName("qq.com");
        InetAddress[] allByName = InetAddress.getAllByName("qq.com");
        Console.log(byName);    // qq.com/183.3.226.35
        Console.log(allByName);     // [qq.com/183.3.226.35, qq.com/123.151.137.18, qq.com/61.129.7.47]

        byte[] address = byName.getAddress();
        for (byte b : address) {
            Console.log((int)b);    // -73, 3, -30, 35
        }

        InetAddress byAddress = InetAddress.getByAddress("qq.com", new byte[]{-73, 3, -30, 35});
        Console.log(byAddress);     // qq.com/183.3.226.35



        InetAddress byAddress2 = InetAddress.getByAddress(new byte[]{-73, 3, -30, 35});
        Console.log(byAddress2.getCanonicalHostName());     // 183.3.226.35
    }
}

标签:20230627,qq,Console,log,java,InetAddress,net,com
From: https://www.cnblogs.com/huangwenjie/p/17650389.html

相关文章

  • 20230627 java.nio.channels.SocketChannel
    介绍java.nio.channels.SocketChannelpublicabstractclassSocketChannelextendsAbstractSelectableChannelimplementsByteChannel,ScatteringByteChannel,GatheringByteChannel,NetworkChannelAPIopen打开一个套接字通道,并将其连接到远程地址bindconne......
  • 20230627 java.nio.channels.Channels
    介绍java.nio.channels.ChannelsAPIstaticnewInputStreamnewOutputStreamnewChannelReadableByteChannelnewChannel(InputStreamin)WritableByteChannelnewChannel(OutputStreamout)newReadernewWriter......
  • Bugku-misc-telnet
    刚结束的ciscn,里面的要是有这么简单就好了。下载附件,是个pcap文件,打开wireshark分析一节一节看过去就找到了flag没难度的~~~......
  • go的net/http有哪些值得关注的细节
     原创 小白 小白debug 2023-08-1408:33 发表于上海收录于合集#go语言1个#面试17个#后端19个golang的net/http库是我们平时写代码中,非常常用的标准库。由于go语言拥有goroutine,goroutine的上下文切换成本比普通线程低很多,net/http库充分利用了这个优势,因此,它......
  • Kubernetes
    一、简介   k8s、Google开源。容器编排引擎。   k8s的目标是让部署容器化的应用简单且高效【powerful】,k8s提供应用部署,规划,更新,维护的一种机制。   支持自动化部署、大规模可伸缩。应用容器化管理。二、组成    一个k8s系统,通常称为一个k8s集群【......
  • netty系列之ChannelOption
    netty系列之ChannelOption 1、概述在netty启动的时候会设置相关的ChannelOption,无论是在ServerBootstrap还是在Bootstrap,接下来解释一下常用的ChannelOption2、常用ChannelOptionChannelOption.SO_BACKLOG(一般用于option–>boss)BACKLOG用于构造服务端套接字ServerSocket......
  • C#图解教程笔记 - Chapter1 C#和.NET框架
    0摘要CLR,BCL,FCL,DLL,CIL,JIT,CLI,CTS,CLS1在.NET之前20世纪90年代末,使用微软平台的Windows编程分化成许多分支。如:VisualBasic(VB)C或C++其他相关技术:Win32APIMFCCOM所有这些编程技术有一个缺点,就是它们主要针对桌面程序而不是互联网进行开发。......
  • Kubernetes集群部署三节点yum部署
    一、修改主机名(三个节点都操作)vi/etc/hostname#跟换主机名systemctlrestartsystemd-hostnamed#修改完成后重新链接服务二、同步时间(三个节点都操作)yuminstallntpdate-yntpdatetime.windows.com#时区设置cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime#最......
  • 【muduo】net篇---EventLoopThread和EventLoopThreadPool
    EventLoopThread是事件循环线程,包含一个Thread对象,一个EventLoop对象。在构造函数中,把EventLoopThread::threadFunc注册到Thread对象中(线程启动时会回调)。EventLoopThreadPool是事件循环线程池,管理所有客户端连接,每个线程都有唯一一个事件循环。可以调用setThreadNum设置线程的数......
  • 【muduo】net篇---TcpServer
    TcpServer在创建的过程中,首先new出来自己的核心组件(Acceptor,loop,connectionMap,threadPool)之后TcpServer会向Acceptor注册一个新连接到来时的Connection回调函数。一旦接受到一个client的连接,就会调用TcpServer::newConnection()函数。这个函数使用round-robin算法从EventLoopThr......