问题描述
我的目标是构建一个 Spring Boot 应用程序,将其部署在我的本地网络上,并使其可用于其他设备,无需部署任何 DNS 服务器即可抛出 http。
目前,spring boot 应用程序正在我的 iMac 上运行,可通过地址 http://iMac.local:8080 访问。但是如果我把它移到另一台电脑上,这个地址就会改变,这是我想阻止的。
我开始尝试用 JmDNS 做一些事情(应该与 Bonjour/Zeroconf/mDNS 100% 兼容),并在我的 Spring boot main 中实现了以下内容:
public static void main(String[] args) {
try {
// Create a JmDNS instance
JmDNS jmdns = JmDNS.create(InetAddress.getLocalHost());
// Register the service
ServiceInfo serviceInfo = ServiceInfo.create("_http._tcp.local.","webvr",8080,"path=deovr");
jmdns.registerService(serviceInfo);
// Launch the Spring Boot WebVR Application
SpringApplication.run(WebVR.class,args);
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
我期望的是访问我的 Spring boot 应用程序时抛出 URL http://webvr.local:8080 或 http://webvr.local,但它不起作用。 另一方面,我可以看到我的“服务”发布在我的 iMac 在本地网络中获得的所有本地地址上(本地主机、wifi ipv4 地址、以太网 ipv4 地址和 ipv6 等效地址):
所以我知道这并不像我想的那样工作......我怎样才能实现我的目标?
如果需要,我可以考虑使用 JmDNS 的替代方案,但我想避免任何包含设置 DNS 服务器或修改任何主机文件的解决方案,因为我想访问带有锁定设备的 Spring Boot 应用程序(在这种情况下,Oculus Go 和 Quest 耳机)
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)