我有一个用 Java 编写的服务器,它基本上等待来自不同客户端的请求并为他们的请求提供服务。我正在从 Eclipse 运行此服务器。此服务器可在本地网络上访问,但我希望能够从本地网络外部访问此服务。请问有什么办法吗?
PS我是这些东西的真正初学者
我有一个用 Java 编写的服务器,它基本上等待来自不同客户端的请求并为他们的请求提供服务。我正在从 Eclipse 运行此服务器。此服务器可在本地网络上访问,但我希望能够从本地网络外部访问此服务。请问有什么办法吗?
PS我是这些东西的真正初学者
您可以在路由器中打开一个端口,该端口通向服务器正在侦听的端口。然后,您连接到您的公共 IP。这个ip可以在
您还可以下载 Hamachi 之类的内容,然后下载 Hamachi 并在其他 PC 和 Mac(以及 Linux ......目前处于测试阶段)上登录您的网络。然后,您将希望能够访问您的服务器。
正如@Java Player 所说,问题在于您的路由器(Nat)拒绝任何传入本地网络的数据包......简而言之,有很多解决方案:
第三方服务器:您必须在客户端/服务器程序之间有一个充当中介角色的专用服务器。
优点:
缺点:
除了您的客户端之外,您还必须编写另一个将数据包转发到所需目的地的第三方。
顺便说一句,它有点重(浪费带宽)。
反向连接:服务器和客户端程序颠倒过来,即客户端变成服务器,服务器变成客户端,'大部分木马都使用...
优点:
缺点:
udp 打孔:这种方法可能被所有对等解决方案(例如:skype、utorrent...)使用。
优点:
缺点:
STUN server
来获取有关您的路由器的信息。