我确信这似乎是一个简单的问题,但我似乎无法在任何地方找到答案。我一直在使用C语言中的基本客户端/服务器代码,基本上与任何介绍套接字编程指南中发布的内容相同,无论我如何改变几行代码,我都无法通过互联网连接两台机器。我可以在本地连接127.0.0.1并且所有示例都可以正常工作,但我希望能够连接两个单独的主机。
我尝试过使用IP地址 - ifconfig和curl ifconfig.me为我可以访问的每台机器或远程盒子返回不同的IP,我被告知这意味着他们都在NAT后面,这意味着我不能用显式IP连接。
我尝试使用username @ hostname和gethostbyname() - 我一直在服务机器上使用whoami和hostname来确定客户端应该使用的主机名,但是DNS总是返回错误。我应该如何确定我应该提供给客户端的主机名以便我可以连接?
除此之外,我不确定问题是什么,因为我使用的是遍布网络的相同套接字代码,并且我已经针对几个不同的示例多次检查了每一行。这让我很长时间感到沮丧,任何帮助都会非常感激。