需要一个支持NAT穿越的C++ Https服务库吗?

4
我正在用C ++开发一个项目,基本上我需要能够通过https(或可能是sftp)在不同平台(Win,Mac,Linux等尽可能多的平台)上简要地(仅限一次使用)托管单个文件。该库需要与我的LGPL许可证兼容,并且最好能够在路由器后面使用广域网。否则,我将不得不要求我的用户手动进行端口转发。
我意识到这是一种奇怪的想法,即NAT穿透+HTTP,但我想知道是否有人知道可以做到这一点的好的库或一组库?如果没有,我可能必须自己编写它。

我认为Poco可以帮助你。 - hamed
1个回答

2

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

至于端口转发部分,您可以查看一下MiniUPnP (BSD许可证)。我没有使用过这个库,无法保证其功能正常。

任何UPnP库都可以胜任此任务,基本步骤如下:

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

如果步骤2或3失败,您需要向用户提供如何操作的说明(将他们发送到portforward.com)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接