我有一个用Java编写的服务器,它基本上等待来自不同客户端的请求并提供他们的请求。我从Eclipse运行这个服务器。此服务器可在本地网络上访问,但我希望能够从本地网络外部访问此服务。请问有什么办法吗?
P.S。我是这些事情的真正初学者
答案 0 :(得分:3)
您可以在路由器中打开一个指向服务器正在侦听的端口。然后,您连接到您的公共IP。此IP可以是found on
答案 1 :(得分:0)
您也可以下载Hamachi之类的东西,然后下载Hamachi并在其他PC和Mac(以及目前处于测试阶段的Linux)上登录您的网络。然后,您将希望能够访问您的服务器。
答案 2 :(得分:0)
正如@Java Player所说,问题是您的路由器(Nat)拒绝向您的本地网络传输任何数据包......简而言之,有很多解决方案:
第三方服务器:您必须在客户端/服务器程序之间拥有一个扮演中介角色的专用服务器。
优点:
缺点:
除了您的客户端,您还必须编写另一个将数据包转发到所需目标的第三方。
BTW它有点沉重(浪费带宽)。
Reversed connexion:服务器和客户端程序相反,这意味着客户端成为服务器,服务器成为客户端,大部分用户都使用木马 ...
优点:
缺点:
Udp hole punching:这种方法可能被所有peer2peer解决方案使用(例如:skype,utorrent ......)。
优点:
缺点:
STUN server
的第三方服务器来获取有关路由器的信息。