繁体   English   中英

如何与Amazon EC2上托管的C ++服务器通信?

[英]How to communicate with a c++ server hosted on amazon ec2?

背景:

我使用Winsock在C ++中创建了一个小型聊天应用程序,只是为了尝试一些网络编程。 我做了一个服务器和一个客户端,并且两者都通过我的局域网完美地通信,但是没有通过互联网。 因此,在进行了一些搜索之后,我遇到了NAT打孔的概念,并且知道它需要一个公共集合服务器(即,不位于NAT之后的服务器)。

问题:

然后,经过更多搜索,我了解了Amazon EC2,获得了免费试用版,创建了一个运行Windows Server 2012 R2的实例,并在那里运行了服务器应用程序。 然后,我在计算机上运行了客户端,并尝试连接到服务器。 连接失败,出现“连接超时”错误。

我观察到我的Amazon实例已分配了两个IP地址,一个是公共的,另一个是私有的,这意味着该服务器位于NAT之后。

问题:

考虑到我既知道公共IP地址又知道私有IP地址(但不知道NAT生成的端口号),我可以使连接正常工作吗?

另外,我使用的是错误的服务还是做错了什么?

是否有一些其他服务可以给我一个公共集合服务器,并允许我的C ++ Windows服务器运行? 我知道许多应用程序(例如WhatsApp)都使用中间服务器在两个客户端之间进行通信。 我想获得这样的服务器。 我有什么选择?

请帮助我。 我已经搜索了很多东西,却找不到能解决我问题的任何东西。

如果您的聊天客户端通过TCP / IP进行通信,则可以使用Amazon的公共IP与服务器进行通信。

默认情况下,虚拟服务器的安全性被严格锁定。 使用Amazon工具集打开您进行通信的端口。 为了提高安全性,请仅将它们打开到您的IP地址。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM