【发布时间】:2014-09-20 17:43:44
【问题描述】:
我打算创建一个应用程序,该应用程序可以将文件从一部手机发送到另一部手机(API 级别 10),这些手机位于单独的网络上,无需服务器。 p>
我找到了一些基于套接字的文件发送解决方案,它们在局域网中工作:我可以将文件从一部手机发送到另一部手机。
但是,当我在单独的网络上时,服务器地址 192.168.0.102(显然)变得无效,因为它是本地地址。
如何通过 3G 或在单独的网络中访问另一部手机?
【问题讨论】:
-
我认为,如果没有服务器,您将无法做到这一点。您的电话没有公共 IP 地址。他们只有本地地址,你不能通过它访问。我认为很多提供商都使用 NAT 并且不向设备提供“真实”IP 地址。
-
套接字对 LAN、WAN 或 3G 不感兴趣。他们总是工作。您有一个服务器应用程序和一个客户端应用程序。如果它们在不同的网络上但同时具有互联网连接,您应该找出您的设备(服务器)连接到的路由器的外部/互联网 IP。在该设备上浏览到whatismyip.com 你就知道了。在路由器上将使用的端口转发到设备的本地 ip。在客户端设备上使用服务器外部 ip。如果在 3G 上没有路由器,那么您可以直接连接。但请注意,许多提供商不接受设备上的服务器。
-
请验证我的假设:如果它在 3G 网络上,则无法使用套接字连接。所以这就是为什么我找不到任何 phone-2-phone 解决方案...