我正在使用C ++开发一个项目,基本上,我需要能够简单地(比如一次使用)在不同平台(Win,Mac,Linux,基础上)通过https(或可能是sftp)托管单个文件。越多越好)。该库需要与我的LGPL许可兼容,并且最好需要在路由器后面使用广域网。如果没有,我将不得不要求我的用户手动移植。
我意识到这是一个奇怪的想法,NAT Traversal + HTTP,但我只是想知道是否有人知道一个好的库或一组库可以做到这一点?如果没有,我可能不得不自己写。
答案 0 :(得分:2)
您可以查看GNU libmicrohttpd(LGPL许可证),这是一个用于嵌入应用程序的跨平台HTTP服务器库。开始使用起来相当容易。
对于端口转发部分,您可以查看MiniUPnP(BSD许可证),我没有使用过这个库,也无法保证它正常工作。
任何UPnP库都应该这样做,基本步骤是:
如果步骤2或3失败,您需要向用户提供有关如何操作的说明(将其发送至portforward.com)。