java对ip地址的获取于基本操作

在java中,万物皆对象,

InetAddress类就是ip地址的类

它可以输入域名,获取到ip,InetSocketAddress类可以进行加入端口,

package ip;

import sun.net.util.IPAddressUtil;

import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.InterfaceAddress;
import java.net.UnknownHostException;

/**
 * @ClassName getIp
 * @Author 瞿肖
 * @Date 2022/7/12 10:40
 */
public class getIp {
    public static void main(String[] args) {
        try {
            InetAddress localHost = InetAddress.getLocalHost();//获取本机地址
            InetAddress byName = InetAddress.getByName("www.baidu.com");
            System.out.println(localHost);
            System.out.println(byName);//获取域名+ip地址
            System.out.println(byName.getCanonicalHostName());//获取ip,这个会比较慢,因为要去查
        } catch (UnknownHostException e) {
            throw new RuntimeException(e);
        }

    }
}

由于InetAddress类没有构造方法,所以只能通过静态方法来获取。以上只是获取ip的方法,这个类还有用来判断ip合法性的方法:

InetSocketAddress就是拿来获取加端口号的ip方便用于远程操作,不过读了它的源码我们会发现,他继承了Serializable序列化表示类,也就说明这个类可以被序列化

经验分享 程序员 微信小程序 职场和发展