我有一个用Java编写的服务器,它基本上等待来自不同客户端的请求并服务于他们的请求。我从Eclipse运行这个服务器。该服务器可在本地网络上访问,但我希望能够从本地网络外部访问此服务。请问有什么办法可以吗?从本地网络外部访问服务器
P.S.我是一个真正的初学者在这些东西
我有一个用Java编写的服务器,它基本上等待来自不同客户端的请求并服务于他们的请求。我从Eclipse运行这个服务器。该服务器可在本地网络上访问,但我希望能够从本地网络外部访问此服务。请问有什么办法可以吗?从本地网络外部访问服务器
P.S.我是一个真正的初学者在这些东西
你可以打开一个端口在路由器,导致服务器正在侦听。然后,您连接到您的公共IP。这个ip可以是found on
你也可以下载类似Hamachi的东西,然后下载Hamachi并在其他PC和Mac(以及目前处于测试阶段的Linux)上登录到你的网络。然后,您将希望能够访问您的服务器。
正如@Java球员说,问题是,你的路由器(NAT)否认有任何传入数据包到本地网络......简单地说,有许多解决方案这样的:
第三方服务器:你必须有个扮演一个专用服务器e中介的作用,在你的客户/服务器程序之间。
优点:
缺点:
除了你的客户,你必须编写其他第三方转发数据包到期望的目的地。
顺便说一句,它有点沉重(浪费带宽)。
Reversed connexion:服务器和客户端程序颠倒过来,这是指客户端成为一个服务器,服务器成为客户端,“被大多数的木马...
优点:
缺点:
Udp hole punching:这种方法被所有peer2peer解决方案(例如:skype,utorrent ...)使用。
优点:
缺点:
STUN server
获得有关你的路由器信息第三方服务器。
确保你的机器是从外部访问的IP地址,防火墙可以让外面的机器访问您的服务器侦听PROT这个IP。 – 2013-04-05 22:30:59
两种主要的问题都是在stackoverflow范围之外。防火墙和NAT。我会研究这些事情,并考虑发布在超级用户上,如果你仍然有问题。 – jedwards 2013-04-05 22:31:01