-1

我有一个用 Java 编写的服务器,它基本上等待来自不同客户端的请求并为他们的请求提供服务。我正在从 Eclipse 运行此服务器。此服务器可在本地网络上访问,但我希望能够从本地网络外部访问此服务。请问有什么办法吗?

PS我是这些东西的真正初学者

4

3 回答 3

3

您可以在路由器中打开一个端口,该端口通向服务器正在侦听的端口。然后,您连接到您的公共 IP。这个ip可以

于 2013-04-05T22:31:52.853 回答
0

您还可以下载 Hamachi 之类的内容,然后下载 Hamachi 并在其他 PC 和 Mac(以及 Linux ......目前处于测试阶段)上登录您的网络。然后,您将希望能够访问您的服务器。

于 2013-04-05T22:35:11.760 回答
0

正如@Java Player 所说,问题在于您的路由器(Nat)拒绝任何传入本地网络的数据包......简而言之,有很多解决方案:

  1. 第三方服务器:您必须在客户端/服务器程序之间有一个充当中介角色的专用服务器。

    优点:

    • 彻底解决与Nat相关的问题。

    缺点:

    • 除了您的客户端之外,您还必须编写另一个将数据包转发到所需目的地的第三方。

    • 顺便说一句,它有点重(浪费带宽)。

  2. 反向连接:服务器和客户端程序颠倒过来,即客户端变成服务器,服务器变成客户端,'大部分木马都使用...

    优点:

    • 这种方法很容易实现。

    缺点:

    • 你必须至少有一个开放的端口。
  3. udp 打孔:这种方法可能被所有对等解决方案(例如:skype、utorrent...)使用。

    优点:

    • 您不需要任何路由器配置。
    • 对等点之间的直接连接。

    缺点:

    • 您还需要调用第三方服务器STUN server来获取有关您的路由器的信息。
    • 并非所有使用 udp 打孔的路由器,您还必须考虑第一个解决方案。
    • 编写打孔解决方案并非易事。
于 2013-04-05T23:17:53.243 回答