使用公共ipv4地址创建HttpServer

时间:2019-05-08 10:28:30

标签: java httpserver ipv4

我正在通过com.sun.net.httpserver设置HttpServer。 我希望能够通过我的公共ipv4地址访问服务器。

我已经设法使其与localhost一起使用。

HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
server.createContext("/", Main::server.setExecutor(null);
server.start();

我尝试过

InetAddress ip = InetAddress.getByName("83.180.65.342");
HttpServer server = HttpServer.create(new InetSocketAddress(ip, 8080), 0);

但它返回

java.ne.BindException: Cannot assign requested address: bind

1 个答案:

答案 0 :(得分:1)

您是在本地开发计算机上执行此操作,而您的公用计算机实际上是其他地方的独立计算机吗?那显然是行不通的。

如果这是问题所在,请在安装中将您的IP地址设置为可配置的属性,而不是对其进行硬编码。否则,请使用getLocalHost()(并正确配置计算机的网络和DNS选项,以使其不会返回127.0.0.1)。