我在我的办公室里有一台服务器,它允许通过路由器从站点上的一些客户端进行连接。这是使用光纤宽带Ip v4和固定的Ip地址,并且一直工作良好,直到宽带中断了一天。我认为我需要一个连接到4G的备份路由器,然后我可以切换服务器到使用4G路由器,并让我的客户端再次连接。4G通常是动态IP地址,所以我决定编写一个小函数,每隔60秒检查一次4G路由器的ip地址,并将其发送到云上的服务,以便我的客户端可以从该服务读取ip地址并连接到我的服务器。
https://stackoverflow.com/questions/3253701/get-public-external-ip-address
public static void Main(string[] args)
{
string externalip = new WebClient().DownloadString("http://icanhazip.com");
Console.WriteLine(externalip);
}这看起来很好,我从服务中得到了类似于81.123.432.34之类的东西。我连接到我的4G路由器,我得到了一个IP V6地址,如下所示:
2a01:4c8:41d:6c29:b1a2:69ef:18f4:4aa4我还能使用路由器吗?我应该在客户端上放置什么I地址?c#套接字是否可以使用v6地址?
发布于 2019-03-01 00:29:23
如果连接的两端都具有IPv6连接,则可以使用IPv6地址。大多数4GLTE供应商提供IPv6,因为LTE需要IPv6,但您的固话运营商可能还没有提供它。
如果需要区分IPv4和IPv6,则需要使用允许您分别查询它们的IP地址服务。当我也有这个需求,但没有找到一个已经存在的,我写了我自己的,你可以在https://myip.addr.space/上找到。
发布于 2019-02-28 22:23:30
尝试使用另一个api,如https://api.ipify.org/
然后检查你的4g路由器是否只支持ipv6,但这非常奇怪:)
https://stackoverflow.com/questions/54927753
复制相似问题