需要一个C ++库用于Https服务与NAT遍历?

时间:2012-07-16 06:34:56

标签: c++ http servlets traversal nat

我正在使用C ++开发一个项目,基本上,我需要能够简单地(比如一次使用)在不同平台(Win,Mac,Linux,基础上)通过https(或可能是sftp)托管单个文件。越多越好)。该库需要与我的LGPL许可兼容,并且最好需要在路由器后面使用广域网。如果没有,我将不得不要求我的用户手动移植。

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

1 个答案:

答案 0 :(得分:2)

您可以查看GNU libmicrohttpd(LGPL许可证),这是一个用于嵌入应用程序的跨平台HTTP服务器库。开始使用起来相当容易。

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

任何UPnP库都应该这样做,基本步骤是:

  1. 在本地计算机上启动HTTP服务器
  2. 在本地计算机上打开端口
  3. 使用UPnP请求网关转发端口
  4. 如果步骤2或3失败,您需要向用户提供有关如何操作的说明(将其发送至portforward.com)。