[英]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.