我正在尝试通过互联网建立TCP连接。我使用我的IPv4地址作为服务器地址,当我使用本地网络上的机器连接它时,它可以工作。
但是,当我尝试使用不在本地网络上的计算机连接到它时,它会失败。
问题是否发生是因为我使用的是IPv4地址还是其他的?
答案 0 :(得分:0)
不完全是。您需要使用IP地址。 IPv4或v6或两者。但在你的情况下,你使用的是IPv4,这不是问题。
你的问题在于两件事:NATing和路由。可以是两者之一,也可以是其中任何一种。
通常您使用的是私有IP地址。要检查此问题,请使用ifconfig或ipconfig(在Windows上)并查看您拥有的IP。如果它在私有IP范围内(10.0.0.1到10.0.0.254或172.16.0.1到172.31.255.254或192.168.0.1到192.168.255.254)那么你需要我们称之为NAT。 这些地址不能在互联网上路由。因此,您的路由器应自动将其NAT转换为公共IP,您可以直接付费或由ISP提供。如果不这样做,你就不能“出去”。
在路由部分,您需要检查默认网关。 如果在Window计算机上发出ipconfig / all,则应该看到路由器(ISP one)或云提供商等的IP地址。