亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        JAVA認(rèn)證:創(chuàng)建InetAddress對(duì)象的四個(gè)靜態(tài)方法

        字號(hào):

        InetAddress類是Java中用于描述IP地址的類。它在java.net包中。在Java中分別用Inet4Address和Inet6Address類來(lái)描述IPv4和IPv6的地址。這兩個(gè)類都是InetAddress的子類。由于 InetAddress沒(méi)有public的構(gòu)造方法,因此,要想創(chuàng)建InetAddress對(duì)象,必須得依靠它的四個(gè)靜態(tài)方法。InetAddress可以通過(guò)getLocalHost方法得到本機(jī)的InetAddress對(duì)象,也可以通過(guò)getByName、getAllByName和 getByAddress得到遠(yuǎn)程主機(jī)的InetAddress對(duì)象。
            一、getLocalHost方法
            使用getLocalHost可以得到描述本機(jī)IP的InetAddress對(duì)象。這個(gè)方法的定義如下:
            public static InetAddress getLocalHost() throws UnknownHostException
            這個(gè)方法拋出了一個(gè)UnknownHostException異常,因此,必須在調(diào)用這個(gè)方法的程序中捕捉或拋出這個(gè)異常。下面的代碼演示了如何使用getLocalHost來(lái)得到本機(jī)的IP和計(jì)算機(jī)名。
            package inet;
            import java.net.*;
            public class MyInetAddress1
            {
            public static void main(String[] args) throws Exception
            {
            InetAddress localAddress = InetAddress.getLocalHost();
            System.out.println(localAddress);}
            }
            運(yùn)行結(jié)果:
            ComputerName/192.168.18.10
            在InetAddress類中覆蓋了Object類的toString方法,實(shí)現(xiàn)如下:
            public String toString()
            {
            return ((hostName != null) ? hostName : "") + "/" + getHostAddress();
            }
            從上面的代碼可以看出,InetAddress方法中的toString方法返回了用“/”隔開的主機(jī)名和IP地址。因此,在上面的代碼中直接通過(guò) localAddress對(duì)象來(lái)輸出本機(jī)計(jì)算機(jī)名和IP地址(將對(duì)象參數(shù)傳入println方法后,println方法會(huì)調(diào)用對(duì)象參數(shù)的toString 方法來(lái)輸出結(jié)果)。
            當(dāng)本機(jī)綁定了多個(gè)IP時(shí),getLocalHost只返回第一個(gè)IP.如果想返回本機(jī)全部的IP,可以使用getAllByName方法。
            二、getByName方法
            這個(gè)方法是InetAddress類最常用的方法。它可以通過(guò)指定域名從DNS中得到相應(yīng)的IP地址。getByName一個(gè)String類型參數(shù),可以通過(guò)這個(gè)參數(shù)指定遠(yuǎn)程主機(jī)的域名,它的定義如下:
            public static InetAddress getByName(String host) throws UnknownHostException
            如果host所指的域名對(duì)應(yīng)多個(gè)IP,getByName返回第一個(gè)IP.如果本機(jī)名已知,可以使用getByName方法來(lái)代替 getLocalHost.當(dāng)host的值是localhost時(shí),返回的IP一般是127.0.0.1.如果host是不存在的域名,getByName將拋出UnknownHostException異常,如果host是IP地址,無(wú)論這個(gè)IP地址是否存在,getByName方法都會(huì)返回這個(gè)IP地址(因此getByName并不驗(yàn)證IP地址的正確性)。下面代碼演示了如何使用getByName方法:
            package inet;
            import java.net.*;
            public class MyInetAddress2
            {
            public static void main(String[] args) throws Exception
            {
            if (args.length == 0)
            return;
            String host = args[0];
            InetAddress address = InetAddress.getByName(host);
            System.out.println(address);
            }
            }
            測(cè)試1:遠(yuǎn)程主機(jī)www.csdn.net
            執(zhí)行如下命令:
            java inet.MyInetAddress2 www.csdn.net
            運(yùn)行結(jié)果:
            www.csdn.net/211.100.26.124
            測(cè)試2:本機(jī)名ComputerName
            執(zhí)行如下命令:
            java inet.MyInetAddress2 ComputerName
            運(yùn)行結(jié)果:
            ComputerName/192.168.18.10
            測(cè)試3:代表本機(jī)的localhost
            執(zhí)行如下命令:
            java inet.MyInetAddress2 localhost
            運(yùn)行結(jié)果:
            localhost/127.0.0.1
            對(duì)于本機(jī)來(lái)說(shuō),除了可以使用本機(jī)名或localhost外,還可以在hosts文件中對(duì)本機(jī)做“IP/域名”映射(在Windows操作系統(tǒng)下)。這個(gè)文件在C:\WINDOWS\system32\drivers\etc中。打開這兩個(gè)文件中,在最后加一行如下所示的字符串:
            192.168.18.100 www.mysite.com
            測(cè)試4:本機(jī)域名www.mysite.com
            執(zhí)行如下命令:
            java inet.MyInetAddress2 www.mysite.com
            運(yùn)行結(jié)果:
            www.mysite.com/192.168.18.100
            getByName方法除了可以使用域名作為參數(shù)外,也可以直接使用IP地址作為參數(shù)。如果使用IP地址作為參數(shù),輸出InetAddress對(duì)象時(shí)域名為空(除非調(diào)用getHostName方法后,再輸出InetAddress對(duì)象。getHostName方法將在下面的內(nèi)容介紹)。讀者可以使用 129.42.58.212作為MyInetAddress2的命令行參數(shù)(這是www.ibm.com的IP),看看會(huì)得到什么結(jié)果。