我们正在编写一个基于HTTP的桌面应用程序,其客户端从我们的NAT外部运行。我们从NAT内部编码和测试。 http服务器位于我们的NAT内(是的,这是糟糕的网络设计)。什么是自动检测HTTP客户端从哪里启动并传递适当的服务器IP(即NAT内部或外部)的最佳Java方法?
server_ip = 0.0.0.0
if(inside_nat())
server_ip = 192.168.0.*
else
server_ip = 202.13.14.15
需要一个java实现的insider_nat()
答案 0 :(得分:0)
我认为你不能在你的java应用程序中做到这一点。您可以使用内部DNS服务器以外部(全局)服务器解析的DNS名称。
答案 1 :(得分:0)
我们在Windows Small Business服务器(用作本地默认DNS)中使用DNS条目解决了这个问题。 Java名称到IP解析用于查找使用端口映射且内部和外部端口不同的相应IP。