我有一个SIM800C GSM 模块,我想用它来制作服务器。我对知道公共 IP 地址感到非常困惑。为了使人们能够连接到任何服务器,他们需要正确的公共 IP 地址和正确的端口,当然还有正确的协议(TCP、HTTP 等..)。
已经有获取本地IP地址的命令(AT+CIFSR
);如果我创建了一个服务器并且我想让我的朋友连接到它,我需要公共 IP 地址。我如何得到它?
我在互联网上搜索但一无所获。
我有一个SIM800C GSM 模块,我想用它来制作服务器。我对知道公共 IP 地址感到非常困惑。为了使人们能够连接到任何服务器,他们需要正确的公共 IP 地址和正确的端口,当然还有正确的协议(TCP、HTTP 等..)。
已经有获取本地IP地址的命令(AT+CIFSR
);如果我创建了一个服务器并且我想让我的朋友连接到它,我需要公共 IP 地址。我如何得到它?
我在互联网上搜索但一无所获。
AT+CIFSR
(以及标准命令AT+CGPADDR
)在您激活 PDP 上下文后立即返回您的 IP。不幸的是,它是否公开取决于您的运营商。事实上,由于需要面对IPv4 地址耗尽,他们经常执行网络地址转换(NAT),这实际上会为您的设备提供本地 IP。
因此,非设备发起的通信将无法访问您的设备,并且您根本无法创建公共服务器。
因此,这不是与本地 IP 相对的公共 IP:只有您从网络获得的 IP。如果不执行 NAT,那么您获得的 IPAT+CIFSR
将是公共 IP。
通常,NATted IP 限制面临设计技巧
如果设计解决方案不可行,还有另一种选择,即购买专门用于 M2M 和 IOT 应用的特殊(并且更昂贵......)SIM: