gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 06:02:52 27 4
gpt4 key购买 nike

背景:

我使用 winsock 用 C++ 制作了一个小型聊天应用程序,只是为了尝试一些网络编程。我制作了一个服务器和一个客户端,两者都可以通过我的 LAN 进行完美通信,但不能通过 Internet 进行通信。因此,经过一番搜索,我遇到了 NAT 打洞的概念,并了解到它需要一个公共(public)会合服务器(即不在 NAT 后面的服务器)。

问题:

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

我观察到我的 Amazon 实例被分配了两个 IP 地址,一个公用地址和一个私有(private)地址,这意味着服务器位于 NAT 后面。

问题:

如果我知道公共(public) IP 地址和私有(private) IP 地址(但不知道 NAT 生成的端口号),我可以建立连接吗?

此外,我是否使用了错误的服务或做错了什么?

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

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

最佳答案

如果您的聊天客户端通过 TCP/IP 进行通信,您可以使用亚马逊的公共(public) IP 与您的服务器进行通信。

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

关于c++ - 如何与托管在 Amazon EC2 上的 C++ 服务器通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32930293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com