3

私は C++ でプロジェクトに取り組んでいます。基本的には、さまざまなプラットフォーム (Win、Mac、Linux、できるだけ多く) で https (または sftp) 経由で単一のファイルを簡単に (1 回使用するなど) ホストできる必要があります。可能)。ライブラリは私の LGPL ライセンスと互換性がある必要があり、できればルーターの背後からワイド エリア ネットワークで動作する必要があります。そうでない場合は、ユーザーに手動でポート転送するよう依頼する必要があります。

NAT トラバーサル + HTTP という奇妙なアイデアだと思いますが、これを実行できる優れたライブラリまたはライブラリのセットを誰かが知っているかどうか疑問に思っていました。そうでない場合は、おそらく自分で書く必要があります。

4

1 に答える 1

2

GNU libmicrohttpd (LGPL ライセンス)を見ることができます。これは、アプリケーションに埋め込むためのクロスプラットフォーム HTTP サーバー ライブラリです。始めるのはかなり簡単です。

ポート転送部分については、MiniUPnP (BSD ライセンス) を参照してください。私はこのライブラリを使用していないため、動作することを保証できません。

どの UPnP ライブラリでもうまくいくはずです。基本的な手順は次のようになります。

  1. ローカル コンピューターで HTTP サーバーを開始する
  2. ローカル コンピューターでポートを開く
  3. UPnP を使用してゲートウェイ転送ポートを要求する

ステップ 2 または 3 が失敗した場合は、その方法についてユーザーに説明を提供する必要があります ( portforward.comに送信します)。

于 2012-07-16T07:53:06.247 に答える