zoukankan      html  css  js  c++  java
  • 网络编程day1-本地信息的获取

    网络编程day1

    1、InetAddress类

    java.net
    类 InetAddress

    java.lang.Object
      继承者
    java.net.InetAddress
    
    所有已实现的接口:
    Serializable
    直接已知子类:
    Inet4Address, Inet6Address

    IP地址:定位一个节点:计算机。路由设备。通讯设备等

    InetAddress类用于标识网络上的硬件资源,标识互联网协议(IP)地址。 

    常用的两个静态方法

    getByName() ---通过域名| IP地址-->获取InetAddress 对象
    getLocalHost() --获取本地主机

    常用的两个 两个成员方法:
    getHostName() ---返回主机名
    getHostAddress() ---返回地址

    测试类:

     1 package 本地信息;
     2 
     3 import java.net.InetAddress;
     4 import java.net.UnknownHostException;
     5 
     6 /**
     7  * IP地址:定位一个节点:计算机。路由设备。通讯设备等
     8  * 
     9  * InetAddress :多个静态方法:
    10  * getByName() ---通过域名| IP地址-->获取InetAddress 对象
    11  * getLocalHost() --获取本地主机
    12  * 
    13  * 两个成员方法:
    14  * getHostName()  ---返回主机名
    15  * getHostAddress() ---返回地址
    16  * @author liuzeyu12a
    17  *
    18  */
    19 public class TestIP {
    20 
    21     public static void main(String[] args) throws UnknownHostException {
    22         
    23         //使用getLocalHost得到InetAddress对象
    24         InetAddress addr = InetAddress.getLocalHost();
    25         System.out.println(addr.getHostName()); //返回本地主机名(虚拟网卡)
    26         System.out.println(addr.getHostAddress()); //返回本地IP地址
    27     
    28         //根据域名得到InetAddress对象
    29         addr = InetAddress.getByName("www.163.com");
    30         System.out.println(addr.getHostName());
    31         System.out.println(addr.getHostAddress());
    32         
    33         //根据IP地址得到InetAddress对象
    34         addr = InetAddress.getByName("112.51.121.165");
    35         System.out.println(addr.getHostAddress()); 
    36         System.out.println(addr.getHostName()); //无法解析域名
    37     }
    38 }
    View Code

     

    2、InetSocketAddress类

     java.net

    类 InetSocketAddress

    java.lang.Object  

     继承者

    java.net.SocketAddress      

       继承者

    java.net.InetSocketAddress
    
    所有已实现的接口:
    Serializable

    public class InetSocketAddress extends SocketAddress
    
    

    此类实现 IP 套接字地址(IP 地址 + 端口号)。它还可以是一个对(主机名 + 端口号),在此情况下,将尝试解析主机名。如果解析失败,则该地址将被视为未解析 地址,但是其在某些情形下仍然可以使用,比如通过代理连接。

    它提供不可变对象,供套接字用于绑定、连接或用作返回值。

    通配符 是一个特殊的本地 IP 地址。它通常表示“任何”,只能用于 bind 操作。 

    测试类:

     1 package 本地信息;
     2 
     3 import java.net.InetSocketAddress;
     4 
     5 /**端口:
     6  * 1、用于区分软件
     7  * 2、2个字节 0~65535 UDP,TCP
     8  * 3、同一个协议的端口不能冲突
     9  * 4、定义端口的端口号越大越好
    10  * 
    11  * InetSocketAddress构造器:
    12  * new InetSocketAddress(IP地址|域名,端口);
    13  * 方法:
    14  * getPort()
    15  * getHostName()
    16  * getAddress()
    17  * @author liuzeyu12a
    18  *
    19  */
    20 public class TestPort {
    21     public static void main(String[] args) {
    22         
    23         //包含端口
    24         InetSocketAddress socketaddress1 = new InetSocketAddress("127.0.0.1",8080);
    25         InetSocketAddress socketaddress2 = new InetSocketAddress("localhost",6666);
    26         InetSocketAddress socketaddress3 = new InetSocketAddress("www.163.com",6666);
    27     
    28         //socketaddress1
    29         System.out.println(socketaddress1.getPort());
    30         System.out.println(socketaddress1.getHostName());
    31         System.out.println(socketaddress1.getAddress());
    32         
    33         //socketaddress2
    34         System.out.println(socketaddress2.getPort());
    35         System.out.println(socketaddress2.getHostName());
    36         System.out.println(socketaddress2.getAddress());
    37         
    38         //socketaddress3
    39         System.out.println(socketaddress3.getPort());
    40         System.out.println(socketaddress3.getHostName());
    41         System.out.println(socketaddress3.getAddress());
    42     }
    43 }
    View Code

    3、URL类

    URL(Uniform Resource Locator)统一资源定位符,表示Internet上某一资源的地址,协议名:资源名称 

    java.net

    类 URL

    java.lang.Object
      继承者
    java.net.URL
    
    所有已实现的接口:
    Serializable

    public final class URLextends Objectimplements Serializable
    
    

    URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。

     1 package 本地信息;
     2 
     3 import java.net.MalformedURLException;
     4 import java.net.URL;
     5 
     6 /**
     7  * URL: 统一资源定位器,互联网三大基石之一(html http),区分资源
     8  * 包含:
     9  * 1、协议
    10  * 2、域名、计算机
    11  * 3、端口:默认80
    12  * 4、请求资源
    13  * 例如:
    14  * http://www.baidu.com/index.html?uname=lzy&age=18#a
    15  * @author liuzeyu12a
    16  *
    17  */
    18 public class TestUrl {
    19 
    20     public static void main(String[] args) throws MalformedURLException {
    21         URL url = new URL("https://www.baidu.com:80"
    22                 + "/index.html?uname=lzy&age=18&pwd=123#a");
    23         
    24         //获取四个值
    25         System.out.println("协议:"+url.getProtocol());
    26         System.out.println("域名|ip :"+url.getHost());
    27         System.out.println("端口 :"+url.getPort());
    28         System.out.println("请求资源:"+url.getPath());
    29         System.out.println("请求资源:"+url.getFile());//完整路径
    30         
    31         //参数
    32         System.out.println("参数:"+url.getQuery());
    33         
    34         //锚点
    35         System.out.println("锚点:"+url.getRef());//在#后面的
    36     }
    37 }
    View Code

    具体的一些操作可查看jdk文档。

  • 相关阅读:
    Oracle SQL性能优化
    readystate, 异步
    DOMContentLoaded
    有限状态机(Finite-state machine)
    APPcache
    读取上传文件内容
    drag file upload xhr 拖拽异步上传文件
    web worker
    页面性能测试
    闭包用法,延迟tab
  • 原文地址:https://www.cnblogs.com/liuzeyu12a/p/10389775.html
Copyright © 2011-2022 走看看