package com.opensource.socket;

import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;

public class InetAddressExample
{
   
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        try
        {
            Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces();
           
            if (interfaceList == null)
            {
                System.out.println("no interfaces found.");
            }
            else
            {
                while (interfaceList.hasMoreElements())
                {
                    NetworkInterface iface = interfaceList.nextElement();
                   
                    System.out.println("Interface:" + iface.getName());
                   
                    Enumeration<InetAddress> addrList = iface.getInetAddresses();
                   
                    if (!addrList.hasMoreElements())
                    {
                        System.out.println("no address for this interface.");
                    }
                   
                    while (addrList.hasMoreElements())
                    {
                        InetAddress address = addrList.nextElement();
                        System.out.print("\tAddress "
                            + ((address instanceof Inet4Address ? "(v4)" : (address instanceof Inet6Address ? "(v6)"
                                : "(?)"))));
                        System.out.println(": " + address.getHostAddress());
                    }
                }
            }
        }
        catch (SocketException e)
        {
            System.out.println("SocketException:" + e);
        }
       
        for (String host : args)
        {
            try
            {
                System.out.println(host + ":");
               
                InetAddress[] addressList = InetAddress.getAllByName(host);
                for (InetAddress address : addressList)
                {
                    System.out.println("\t" + address.getHostName() + "/" + address.getHostAddress());
                }
            }
            catch (UnknownHostException e)
            {
                System.out.println("UnknownHostException:" + e);
            }
        }
    }
}

inet address example(socket)的更多相关文章

  1. Get the client's IP address in socket.io

    From: https://www.wentong.org/codex/question-2018081564702.html When using socket.IO in a Node.js se ...

  2. Python底层socket库

    Python底层socket库将Unix关于网络通信的系统调用对象化处理,是底层函数的高级封装,socket()函数返回一个套接字,它的方法实现了各种套接字系统调用.read与write与Python ...

  3. Python网络编程(2)——socket模块(2)

    目录: 1. 异常 2. 地址族 3. 套接字类型 4. 模块方法 5. Socket对象与实例方法 socket模块提供了Python中的低层网络连接接口,用于操作套接字操作. 异常 socket模 ...

  4. iOS - Socket 网络套接字

    1.Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 Socket.Socket 又称 "套接字",应用程序通常通过 "套接字& ...

  5. 【Socket】linux组播技术

    1.mystery引入      1)本学期学了计算机网络,对一些网络底层的东西还是不大了解    2)目前IP网络流行3种通信模式,分别是单播/广播与组播    3)根据Internet关于IP地址 ...

  6. NIO 源码分析(02-2) BIO 源码分析 Socket

    目录 一.BIO 最简使用姿势 二.connect 方法 2.1 Socket.connect 方法 2.2 AbstractPlainSocketImpl.connect 方法 2.3 DualSt ...

  7. 以C语言为例完成简单的网络聊天程序以及关于socket在Linux下系统调用的分析

    套接字是网络编程中的一种通信机制,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程. 端 ...

  8. Socket网络编程一

    1.Socket参数介绍 A network socket is an endpoint of a connection across a computer network. Today, most ...

  9. Python之路,Day8 - Python基础 面向对象高级进阶与socket基础

    类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...

随机推荐

  1. WEB.xml配置文件解读

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  2. fragment点击跳转到外部Activity后,怎么通过返回按钮返回

    楼主的情况应该是比较简单的吧,跟三楼说的一样,只要在D跳到下一个Activity的时候,D所在的Activity不要调用finish(),然后在下一个Activity关闭的时候直接调用finish() ...

  3. linux date

    我使用过的Linux命令之date - 显示.修改系统日期时间 本文链接:http://codingstandards.iteye.com/blog/1157513   (转载请注明出处) 用途说明 ...

  4. Why Functional Programming Matters

    http://hi.baidu.com/lhurricane/item/35b57e12a1e3c5ddbf9042a7 http://blog.csdn.net/ddwn/article/detai ...

  5. 【转】【经典算法】——KMP,深入讲解next数组的求解

    前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k:但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导 ...

  6. Implement Queue using Stacks 解答

    Question Implement the following operations of a queue using stacks. push(x) -- Push element x to th ...

  7. redhat6.3 64位更新源(使用网易源)全过程记录

    本篇博客参考:http://chinaxiaoyu.diandian.com/post/2013-01-24/40046529897.首先在浏览器中输入http://tel.mirrors.163.c ...

  8. HttpURLConnection访问url的工具类

    java代码: import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; ...

  9. static_cast

    C 风格(C-style)强制转型例如以下: (T) exdivssion // cast exdivssion to be of type T 函数风格(Function-style)强制转型使用这 ...

  10. 武道释义 &#183; 零散

    若是你防御你的左边.你的右边必定是弱点: 若是你防御你的前面,你的后面必定是弱点. 若是你处处小心防御,则必定处处都是弱点." 有些武术尽管先声夺人.但却如喝渗水之酒,令人越瞧越觉无味: 但 ...