1

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

这是我的问题:

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

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

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

主要问题是,我知道本地客户端/服务器通信,但在“在线”领域没有经验。

4

1 回答 1

2

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

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

您的调制解调器/路由器的公共 IP 也可以更改,具体取决于您的 ISP。如果你有一个固定的 IP,它不会改变,否则你必须安装一个像 dyndns 这样的软件才能有一个与你的 IP 相关联的域名。

于 2012-11-20T23:12:53.277 回答