如何从互联网访问在Android设备上运行的网络服务

时间:2019-02-02 08:57:09

标签: android networking android-networking

我在Android设备上的端口8000上运行简单的http服务。如何通过移动数据从另一台设备访问此地址。

谢谢

1 个答案:

答案 0 :(得分:0)

自从我的评论广受好评以来,就把它变成了正确的答案。

通过WiFi,过程很简单。您可以在本地网络上找到设备的IP地址,然后通过同一网络上的另一台计算机访问该设备的IP地址,例如如果您的Android设备的IP地址为192.168.1.20,则可以从以下位置的另一台计算机上访问它:

http://192.168.1.20:8000

但是,通过移动数据,这可能是不可能的。考虑到任何单个移动网络提供商可能有数百万个订户,但是只有少数面向公众的IP地址,因此这些IP地址不能以1:1的方式分配。因此,可以使用Network Address Translation将这些端点分解为更多的子集,可能深度为几层。来自维基百科:

  

网络地址转换(NAT)是一种在数据包通过流量路由设备传输时,通过修改数据包IP报头中的网络地址信息,将一个IP地址空间重新映射为另一个IP地址空间的方法。该技术最初被用作一种快捷方式,以避免在移动网络时需要重新寻址每个主机。面对IPv4地址耗尽,它已成为保护全局地址空间的流行且必不可少的工具。 NAT网关的一个Internet路由IP地址可用于整个专用网络。

这确保了移动网络可以继续添加订户并提供数据服务,但是这也意味着从外部开始直接连接到单个设备几乎是不可能的,因为您需要知道通过专用网络到设备的完整路由。