如何获取手机的公网IP地址?

5

我想使用服务器的IP地址通过互联网连接我的手机。据我所知,手机的IP地址通常是私有的。为了使我的应用程序正常工作,我需要手机的公共IP地址。我该如何实现?

谢谢。


你如何将手机连接到互联网? - jmj
3
好的,您说了 - 移动电话具有在运营商进行NAT处理的私有IP。获得“公共”IP(如果有这样的东西)将为您提供一个无法帮助您的盒子地址。无论如何,您都无法连接回手机。 - Robert
4个回答

12
您需要等待IPv6技术的到来。现在,您会获得一个私有地址,而您的服务提供商会对此做一些地址转换(NAT):路由器只有一个公共IP地址,并使用端口将传入的消息映射到私有网络中的IP地址。
您的移动设备的IP地址对互联网是不可见的,网络的公共IP地址也无用,因为它是路由器的地址。或许在IPv6普及之后,所有移动设备都会有公共IP地址,但目前您需要寻找与公共IP地址不同的解决方案——因为移动设备与私有网络中的其他客户端(在路由器后面)并不相同。

这就是监控如此简单的主要原因。我们不能直接使用我们的设备在互联网上进行交互,而需要使用诸如WA、FB或YT之类的交互提供者。如果不存在NAT,我们将可以在没有监控的情况下自由地进行交互。 - ceving

2

设置您自己的托管服务器,使您的应用程序“转到”该服务器,获取一个简单的txt页面,在该简单的txt中,您可以在服务器上动态设置用于获取txt的地址。

例如:

服务器:yourexample.com /url for /ip.php ip.php只响应mimetype文本和请求客户端的地址。

J2ME: 请求your example/ip.php,响应是您的应用程序的地址。


我有自己的服务器。它在我的电脑上,我希望我的手机可以通过它的IP访问它。当我发送请求时,它通过套接字发送到那个服务器,服务器处理完结果后再发送回客户端...这是我的应用程序的架构。我想知道这是否可行。 - Manish Basdeo

1

令人惊讶的是,T-Mobile 3G服务似乎分配了公共IP。我仍在研究细节,但我已经看到一个通过连接的笔记本电脑运行的可用于互联网的网站。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接