2

C++ API (バックエンド) があり、それを Web サービスとして使用したいと考えています。フロントエンドとバックエンドのインターフェースとしてRESTを使おうと考えています。私は REST 用の C++ ライブラリをたくさん見つけましたが、私が最終的に望んでいるのは、C++ API を REST のものから明確に/独立した状態に保ち、そのすべてをフロントエンドで処理して、C++ API の汎用性と再利用性を維持することです。それについての提案はありますか?

また、私の API はデータの収集に重点を置いているのではなく、API に含まれる関数への入力として与えられるデータの処理に重点を置いています。基本的に、C++ 関数は Web から入力データを受け取り、それを処理して出力データを返します。入力データをパラメーターとして渡して API 呼び出しを行い、出力データを取得できるようにする必要があるだけです。

4

3 に答える 3

0

私がこの種のことを行う方法は、ソケットを介してC++バックエンドと通信するPHPフロントエンドを使用することです。

呼び出しをシリアル化/逆シリアル化するには、C++側とPHP側にラッパーレイヤーが必要です。これには、いくつものソリューションがあります。XML、JSON、AMF、プロトコルバッファー、節約などを使用できます。

複数のPHPフロントエンドでC++バックエンドを呼び出すことができるため、これは適切に拡張できますが、バックエンドがステートフルである場合にのみ本当に必要です。

systemバックエンドがステートフルでない場合は、スタイル呼び出しを使用する方がよいでしょう。

于 2012-05-28T00:41:46.770 に答える
0

タグから推測するに、C++ 関数を呼び出す PHP サーバーが必要なのですか?

その場合、PHP 拡張機能を使用して PHP コードから直接 C++ ルーチンを呼び出すことができます。または、SWIG を使用して C++ コードのラッパーを作成するか、C++ ルーチンを実行可能ファイルに入れて、system() を使用して呼び出し、パラメーターを標準入力として渡します。

于 2012-05-27T23:33:50.563 に答える