如何“部署”服务器以便可以通过互联网访问它?

时间:2012-11-20 23:06:35

标签: java android

我最近开发了一个Android应用程序,Android设备可以使用该应用程序与运行该应用程序的其他Android设备进行通信。 通信工作在套接字上,因此我开发了一个服务器,我在我的计算机上运行。

这是我的问题:

只要所有设备和PC都在同一个LAN(例如通过同一个路由器连接),我的PC上运行的服务器上的设备之间的通信就可以正常工作。

现在我想让服务器联机,以便Android设备可以连接到“在线”服务器,并通过服务器从任何地方相互通信。

我根本不知道如何使服务器联机并运行。我怎么能这样做?

主要问题是,我了解本地的客户端/服务器通信,但没有“在线”部门的经验。

1 个答案:

答案 0 :(得分:2)

这更像是网络问题,而不是编程问题。您的服务器打开一个套接字,因此任何能够访问该套接字的人都可以使用。

您必须在路由器上进行重定向。问题是您的计算机没有公共IP,只有您的路由器有一个。因此,当您的路由器在端口21上收到数据包时,它不知道如何处理它。您必须将其配置为“端口21必须重定向到本地IP XXX”

您的调制解调器/路由器的公共IP也可能会发生变化,具体取决于您的ISP。如果您拥有固定IP,则不会更改,否则您必须安装dyndns等软件才能拥有与您的IP相关联的域名。