zoukankan      html  css  js  c++  java
  • Java基础知识强化之网络编程笔记01:InetAddress类的概述和使用

    1. InetAddress类
    InetAddress是Java对IP地址的封装,在java.net中有许多类都使用到了InetAddress,包括ServerSocket,Socket,DatagramSocket等等。
    InetAddress是一个不可变对象:
        InetAddress是一个对象,包含3个属性:主机名称、主机别名、主机ip
         一个ip对应唯一一个主机名,一个主机名可以对应多个ip(一台计算机上有多个网络地址),一个域名可以对应多个ip(一个web服务有多台机器做负载均衡),一个ip也可以对应多个域名(多个web服务器在同一台机器上)
         一般的主机别名就是:网站的域名,为了便于记忆 ,DNS通过主机别名或者主机名都能找到相应的IP
    (1)
    1 所有已实现的接口:
    2 Serializable
    3 直接已知子类:
    4 Inet4Address, Inet6Address

    InetAddress这个类没有构造方法,我们回忆一下什么样的类没有构造方法,如下:

    如果一个类没有构造方法:
      A:  成员全部是静态的(Math,Arrays,Collections)
      B:  单例设计模式(Runtime)
      C:  类中有静态方法返回该类的对象(InetAddress)
         class Demo {
                   private Demo(){}

                   public static Demo getXxx() {
                              return new Demo();
                   }
        }
    很明显通过API知道InetAddress是C这种情况。

     

    (2)看InetAddress的成员方法:

    1 public static InetAddress getByName(String host):根据主机名或者IP地址的字符串表示得到IP地址对象

    2. InetAddress使用代码示例:

     1 package com.himi.InetAddressDemo;
     2 
     3 import java.net.InetAddress;
     4 import java.net.UnknownHostException;
     5 
     6 public class InetAddressDemo {
     7 
     8     public static void main(String[] args) throws UnknownHostException {
     9         //创建IP地址对象
    10         //InetAddress address = InetAddress.getByName("GDIZOK2X2LA0SQG");(本机)
    11         //InetAddress address = InetAddress.getByName("49.123.72.145"");(本机)
    12         InetAddress address = InetAddress.getByName("49.123.72.140");//同一个网络别的主机
    13 
    14         //获取主机名 和 IP地址
    15         String host = address.getHostName();
    16         String IP = address.getHostAddress();
    17         System.out.println("主机名为:"+host+"======="+"IP地址为"+IP);
    18     }
    19 
    20 }

    运行效果,如下:

    本机:

    别的主机:(同一个网段)

  • 相关阅读:
    Response
    servelt乱码问题(tomcat服务端编码为ISO-8859-1)
    Servlet中的常用类以及常用方法
    EKF优化:协方差coff计算公式、意义、Code优化
    使用std::cout不能输出显示
    SLAM: Inverse Depth Parametrization for Monocular SALM
    SLAM: 单目视觉SLAM的方案分类《机器人手册》
    SLAM: SLAM的发展历程(WIKI)
    SLAM: VSLAM扫盲之旅
    安卓系统使用摄像头API
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4858762.html
Copyright © 2011-2022 走看看