c++ - 需要一个用于通过 NAT 遍历的 Https 服务的 C++ 库?

标签 c++ http servlets traversal nat

我正在使用 C++ 开发一个项目,基本上,我需要能够在不同平台(Win、Mac、Linux、越多越好)。该库需要与我的 LGPL 许可证兼容,并且最好需要与路由器后面的广域网一起使用。如果没有,我将不得不要求我的用户手动进行端口转发。

我意识到这是一种奇怪的想法,NAT Traversal + HTTP,但我只是想知道是否有人知道一个好的库或一组库可以做到这一点?如果没有,我可能不得不自己写。

最佳答案

你可以看看 GNU libmicrohttpd (LGPL 许可证),这是一个用于嵌入应用程序的跨平台 HTTP 服务器库。它相当容易上手。

对于端口转发部分,您可以查看 MiniUPnP (BSD 许可证),我没有使用过这个库,不能保证它可以工作。

任何 UPnP 库都可以解决问题,基本步骤如下:

  1. 在本地计算机上启动 HTTP 服务器
  2. 在本地计算机上打开端口
  3. 使用 UPnP 请求网关转发端口

如果第 2 步或第 3 步失败,您需要向用户提供操作说明(发送至 portforward.com)。

关于c++ - 需要一个用于通过 NAT 遍历的 Https 服务的 C++ 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11499164/

相关文章:

java - 如何检索 Jersey ContainerRequest 属性?

c++ - C++ 中的大值

c++ - 枚举成员与静态int成员?

c++ - 我怎样才能修改我的 boost::any 类

c++ - 如何使用 CURLPP 库通过 C/C++ 代码检查网站是 http 还是 https?

swift - Vapor参数解码挂起HTTP请求

c++ - 使用 C++ 更新只读对象的 map

php - 可以通过 Zend HTTP Client 下载文件吗?

java - 将独立的 Spring 应用程序转换或集成到 Spring MVC 应用程序

Java servlet - 从 HTML select multiple 中检索文本和值