如何与amazonec2上托管的c++服务器进行通信
How to communicate with a c++ server hosted on amazon ec2?
背景:
我用winsock在C++中制作了一个小型聊天应用程序,只是为了尝试一些网络编程。我做了一个服务器和一个客户端,两者都通过局域网进行了完美的通信,但没有通过互联网。因此,经过一番搜索,我发现了NAT打孔的概念,并知道它需要一个公共集合服务器(即不在NAT后面的服务器(。
问题:
然后,经过更多的搜索,我了解了亚马逊EC2,获得了他们的免费试用包,创建了一个运行Windows Server 2012 R2的实例,并在那里运行了我的服务器应用程序。然后,我在我的机器上运行客户端,并尝试连接到服务器。连接失败,出现"连接超时"错误。
我观察到,我的Amazon实例被分配了两个IP地址,一个是公共的,另一个是私有的,这意味着服务器位于NAT后面
问题:
如果我知道公共和私有IP地址(但不知道NAT生成的端口号(,我能让连接正常工作吗?
此外,我是否使用了错误的服务或做了错误的事情?
是否有其他服务可以为我提供一个公共集合服务器,并允许我的C++windows服务器运行?我知道许多应用程序(如WhatsApp(使用中间服务器在两个客户端之间进行通信。我想要一台这样的服务器。我有什么选择?
请帮帮我。我找了很多,找不到任何能解决我问题的东西。
如果您的聊天客户端通过TCP/IP进行通信,您可以使用亚马逊的公共IP与服务器进行通信。
默认情况下,虚拟服务器的安全性被严格锁定。使用亚马逊工具集打开您通信的端口。为了提高安全性,请仅将其打开到您的IP地址。
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 有没有办法知道Tracer是否成功地完全连接到了jaegerclientcpp中的jaeger后端服务器
- 从服务器传输到客户端的消息不会出现
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- OpenSSL TLS服务器-使用客户端证书白名单
- 我正在开发服务器,ip作为参数传递不起作用
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 提升 Asio TCP 服务器 处理多个客户端
- 如何在 Minecraft 服务器上执行命令
- 调试编译的服务器在数据库打开时崩溃
- C++套接字客户端到 Python 服务器未创建连接
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 将相机数据从服务器实时流式传输到客户端
- 为什么创建服务器后C++ httplib 库阻塞了我的主线程?
- 每个服务器请求的内存预算
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- 使用嵌入式猫鼬服务器托管应用程序
- NodeJs 服务器充斥着 UDP 广播,不发送响应