国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分享代碼片段:java中準確地獲取本機ip地址(列表)的方法

wujl596 / 3239人閱讀

摘要:原文鏈接獲取本地的工具獲取本地地址,有可能會有多個地址若有多個網卡則會搜集多個網卡的地址

原文鏈接:https://gist.github.com/pfmiles/9f7273b12b4b486e2e9c

package test;

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
 * 獲取本地ip的工具
 * 
 * @author pf-miles
 * @since 2014-11-25
 */
public class LocalIpAddressUtil {

    /**
     * 獲取本地ip地址,有可能會有多個地址, 若有多個網卡則會搜集多個網卡的ip地址
     */
    public static Set resolveLocalAddresses() {
        Set addrs = new HashSet();
        Enumeration ns = null;
        try {
            ns = NetworkInterface.getNetworkInterfaces();
        } catch (SocketException e) {
            // ignored...
        }
        while (ns != null && ns.hasMoreElements()) {
            NetworkInterface n = ns.nextElement();
            Enumeration is = n.getInetAddresses();
            while (is.hasMoreElements()) {
                InetAddress i = is.nextElement();
                if (!i.isLoopbackAddress() && !i.isLinkLocalAddress() && !i.isMulticastAddress()
                    && !isSpecialIp(i.getHostAddress())) addrs.add(i);
            }
        }
        return addrs;
    }

    public static Set resolveLocalIps() {
        Set addrs = resolveLocalAddresses();
        Set ret = new HashSet();
        for (InetAddress addr : addrs)
            ret.add(addr.getHostAddress());
        return ret;
    }

    private static boolean isSpecialIp(String ip) {
        if (ip.contains(":")) return true;
        if (ip.startsWith("127.")) return true;
        if (ip.startsWith("169.254.")) return true;
        if (ip.equals("255.255.255.255")) return true;
        return false;
    }
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64301.html

相關文章

  • 分享代碼片段:web集群全局唯一request id生成算法, 替代uuid等“通用”方案

    摘要:如何為每一個請求分配一個在全集群范圍內都唯一的,卻又不想去實現一個復雜的集中式序列生成器呢這或許是個辦法,但不覺得不太甘心么下面的這個方式可能可以幫到你自增,用于的生成過程啟動加載時的時間戳,用于的生成過程本機地址,用于的生成過程規則將 如何為每一個web請求分配一個在全集群范圍內都唯一的request id,卻又不想去實現一個復雜的集中式id序列生成器呢? UUID? 這或許是個辦法...

    daryl 評論0 收藏0
  • JAVA網絡程序設計基礎(筆記)

    摘要:三端口與套接字端口指一臺計算機只有單一的連接到網絡的物理連接,所以的數據都通過此連接對內對外送達特定的計算機,這就是端口。三程序設計由上面可知基于的信息傳遞速度更快。接收數據包使用創建數據包套接字,綁定指定端口。 服務器 網絡 客戶機 第一部分 一.局域網與因特網 服務器是指提供信息的計算機或程序,...

    PAMPANG 評論0 收藏0
  • 如何利用HBuilder設置外部web服務器來測試移動web

    摘要:關于工具的簡介是數字天堂推出的一款支持的開發。的編寫用到了和。快,是的最大優勢,通過完整的語法提示和代碼輸入法代碼塊等,大幅提升的開發效率。下面就是講解如何使用快速設置一個外部服務器,然后可以直接使用真實機去掃描中的二維碼來訪問測試頁面。 showImg(https://segmentfault.com/img/bVEP12?w=250&h=188); 關于HBuilder工具的簡介:...

    CastlePeaK 評論0 收藏0
  • 重拾Java Network Programming(二)InetAddress

    摘要:前言今天,我將梳理在網絡編程中很重要的一個類以及其相關的類。這類主機通常不需要外部互聯網服務,僅有主機間相互通訊的需求。可以通過該接口獲取所有本地地址,并根據這些地址創建。在這里我們使用阻塞隊列實現主線程和打印線程之間的通信。 前言 今天,我將梳理在Java網絡編程中很重要的一個類InetAddress以及其相關的類NetworkInterface。在這篇文章中將會涉及: InetA...

    daryl 評論0 收藏0
  • 如何做一個自己開源聊天項目?(仿微信)

    摘要:一個輕量級高效率的支持聊天與物聯網的通訊框架從月初到現在已經大約已經三個月了,由于一直沒有時間與精力很好的維護這個項目,心里一直有所歉意。希望本項目對你有所幫助,我的目標暫定,一個小眾加物聯網的開源通訊項目。 篇幅較長,感謝閱讀。 萬事開頭難 在我決定做開源是因為自身工作接觸到大多數的項目都是基于開源大佬寫的框架,自覺慚愧,工作以來一直忙于業務與功能實現,多多少少做過的幾個項目也沒能抽...

    Zachary 評論0 收藏0

發表評論

0條評論

wujl596

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<