簡體   English   中英

從Java HTTP服務器獲取全局IP地址

[英]Get global IP address from java http server

我正在使用以下代碼啟動本地http服務器:

    HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
    server.createContext("/intro", new MyHandler());
    server.setExecutor(null);
    server.start();

現在我想從其他服務器上訪問url /intro 。問題是我不知道要打的IP地址server.getAddress()給出0.0.0.0:8000 。我想找到全局ip地址。

您必須知道什么是IP(cmd和ipconfig)並獲取IPv4地址。 但是請記住,只有本地IP在本地網絡中可見,因此只有同一網絡中的用戶才能看到它。 在全球網絡中,您通過互聯網提供商IP進行標識。

InetSocketAddress(INT端口)

創建一個套接字地址,其中IP地址為通配符地址,端口號為指定值。

InetSocketAddress(InetAddress地址,int端口)

根據IP地址和端口號創建套接字地址。

通配符是一個特殊的本地IP地址。 通常表示“任何”,並且只能用於綁定操作。此IP地址的值為0.0.0.0。

因此,當您可以放置​​主機名時,請使用InetSocketAddress的另一個構造函數

新的InetSocketAddress(字符串主機名,int端口)調用InetAddress.getByName(主機名)。

現在,當您查詢server.getAddress()時,您將獲得本地IP地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM