我想通过互联网使用服务器的 IP 地址将我的手机连接到服务器。据我所知,手机的 IP 地址通常是私有的。为了使我的应用程序正常运行,我需要手机的公共 IP 地址。我怎样才能做到这一点??
谢谢
您必须等待 IPv6 ;) 现在您获得私有地址,您的服务提供商会进行一些地址转换 (NAT):路由器有一个公共 IP,并使用端口将传入消息映射到专用网络的 IP 地址.
您的手机IP对互联网来说是不可见的,网络公共IP是无用的,因为它是路由器的地址。也许使用 IPv6,我们为所有移动设备提供公共 IP,但现在您必须为您的问题找到不同的解决方案 - 公共 IP 不适用于移动设备,就像专用网络中的所有其他客户端(在路由器后面)一样。
设置您自己的托管服务器,使您的应用程序“转到”该服务器,获取一个简单的 txt 页面,在该简单的 txt 中,您在服务器上动态设置用于获取 txt 的地址。
示例:
服务器:yourexample.com /ip.php 的网址 ip.php 仅响应 mimetype 文本和请求客户端的地址。
J2ME: 请求的response中的yourexample/ip.php是你的应用程序的地址。
令人惊讶的是 - t-mobile 3g 服务似乎分配了一个公共 IP。我仍在研究细节,但我已经看到一个可以在联网笔记本电脑上运行的互联网网站
您应该获得您的 i/p 地址。 打开浏览器并输入 http://whatismyipaddress.com/ 或等待,直到您看到 IPv6
这是一个新事物。 我在 AT&T 工作,他们曾经为您的手机分配一个公共地址。 显然现在正在使用 NAT。 如果您访问IPCHICKEN.COM,它将显示屏蔽的IP地址(您的nat代理)
因此 AT&T 有一个边缘路由器 166.216.35.88 这是 Whatismyip 或 ipchicken 上显示的内容 但是,如果您使用该地址,您将无法进入远程会话,因为当您到家时,会传入一个不同的 IP 地址(您的手机)
他们都是混蛋。
您基本上必须使用雨伞来查看所有网络信息,然后您可以看到您的热点正在用于后端的系留笔记本电脑
解决这个问题的唯一方法是向任何人开放端口,而不是特定的 IP,但谁愿意这样做呢?!