背景:如何与托管在amazon ec2上的C++服务器通信?
我用C++编写了一个使用winsock的小型聊天应用程序,只是为了尝试一些网络编程。我制作了一台服务器和一个客户端,两者都通过我的LAN完美通信,但不通过互联网。所以,经过一番搜索之后,我遇到了NAT打孔的概念,并且知道它需要一个公共集合点服务器(即一个不在NAT后面的服务器)。
问题:
又过了些更搜索,我知道了亚马逊EC2的,把他们的免费试用装,创建运行Windows Server 2012 R2实例,跑到我的服务器应用程序在那里。然后,我在我的机器上运行客户端并尝试连接到服务器。连接失败,并显示“连接超时”错误。
我观察到我的Amazon实例已经分配了两个IP地址,一个是公有的和一个是私有的,这意味着服务器在NAT后面。
问题:
我可以使连接工作,因为我知道在公共和私有IP地址(但不是这将由NAT生成的端口号)?
此外,我使用错误的服务或做错了什么?
是否有一些替代服务可以给我一个公共集合点服务器并允许我的C++ Windows服务器运行?我知道许多应用程序(如WhatsApp)使用中间服务器来进行两个客户端之间的通信。我想要得到这样的服务器。我有什么选择?
请帮助我。我搜查了很多,并没有遇到任何可以解决我的问题的东西。
不要因为公共IP而假设像NAT那样的东西。这很可能是您的安全组阻止您访问它。好的,谢谢。不要打开它太多了。 –