gpt4 book ai didi

c++ - 在 NAT 后面实现 restful webservice

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:01 29 4
gpt4 key购买 nike

据我了解,在 NAT 后面的设备上实现 rest web 服务是不可能的。所以我正在为此寻找一些解决方案。

是否可以使用long polling 来实现网络服务?这样,本地设备将调用远程客户端(这正是我想要的),客户端必须保持连接打开(保持事件状态?)直到客户端想要调用 web 服务方法。它可以这样做,因为连接仍然打开。调用后,客户端将立即向客户端发送另一个轮询......等等。是否可以这样实现?

我遇到的另一个解决方案:

ReverseHTTP - 我对此不太了解,但听起来我可以用它来实现网络服务。对吧?

还有其他几种解决方案,例如 TURN 或 STUN,但它们似乎非常复杂。

您有什么建议吗?我在我的网络设备上使用 c++/linux。

编辑:端口转发不是一个选项。

最佳答案

您在这个问题中有很多不同的概念。您当然可以在防火墙/NAT 后面实现 RESTful 服务……您只需要配置防火墙/NAT 以将连接转发到您的服务。存在防火墙/NAT 设备超时连接的问题......同样,您可以将您的设备配置为不这样做,或者您可以使用某种“保持事件”来更新您的通信机制。 “长轮询”有点无关紧要,它被用作从服务器获得“类似交互式响应”的一种方式......基本上,服务器坐在来自客户端的轮询请求上,直到它有东西可以响应,或者请求超时,客户再做一个。 STUN 和 TURN 是更多语音/视频通信相关的技术。我建议首先让您的防火墙/NAT 设备将基于 Web 的请求转发到您的 Web 服务器。

关于c++ - 在 NAT 后面实现 restful webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18236419/

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