0

サーバーとインターフェースする C++ コードを記述して、クライアント側で実行することは可能ですが、ネイティブではなくブラウザーで実行できますか?

たとえば、ファイルを生成するためにオープン ソース クラスを使用することを想像してみてください。しかし、このすべての作業をサーバー上で実行したくないので、ブラウザー上で実行します。

クライアントが 1 つまたは複数のファイルを入力として与えると、コードが自分のマシンで実行され、最終結果が生成され、このファイルがサーバー上のデータベースにアップロードされます。

4

4 に答える 4

0

Google ネイティブ クライアント プロジェクトを参照してください。http://code.google.com/p/nativeclient/

于 2012-08-08T10:51:50.727 に答える
0

これは奇妙な質問です。

クライアント側で実行したいタスクを実行するバイナリを準備し、要求されたときにサーバーが適切なバイナリをクライアントに送信するようにすることができます。次に、クライアントはこのバイナリを実行し、結果をサーバーに返します。

クライアント マシンの構成がわかっている場合は可能です (バイナリはそれらで動作する必要があります)。また、何らかのセキュリティ レイヤーを実装する必要があります。クライアント上で実行されるすべてのバイナリを許可したくはありません (悪意のあるコードがクライアント上で実行されるときの中間者攻撃を想像してください)。

于 2012-08-08T10:52:29.777 に答える
0

あなたの要求は、サーバー側プログラミングの背後にある考え方と矛盾していると思います。サーバー側プログラムを使用する主な目的は、データベース、ネットワークなどのインフラストラクチャ コンポーネントを制御された方法で利用することです。(サーバー側アプリケーションの最も一般的な使用法は、JSP や ASP などのサーバー側コーディングを使用する Web サイトです。)

サーバーは安全に保つ必要があるマシンであるため、リモート アプリケーションが変更を行ったり、ファイル システムに自由にアクセスしたりすることは許可されるべきではありません。データベース操作やファイルの読み取り/書き込みなど、サーバー上で変更を行う場合は、サーバー上で実行されるアプリケーションを使用するか、Web サービスや Web サイトなどのインターフェイスをリモート クライアント アプリケーションに提供する必要があります。

于 2012-08-08T11:04:57.087 に答える
0

そのため、ブラウザーで作業を行いたい場合に、結果をサーバー データベースに投稿する場合の解決策がいくつかあります。

まず、サーバーをデータベース作業用にセットアップする必要があります。MEAN スタックを使用してこれを行い、MongoDB をセットアップして、Mongoose API とインターフェースしました。

さて、質問の要点として、ブラウザが集中的な作業を行っている例はたくさんあります。これらのアプリケーションの大半は、C++ ではなく Javascript であると考えられていました。

あなたが本当にC++に集中したいのなら(私が過去にしたように、私がこの質問をしたとき、大学のために何か大きなものを作りたいと思っていました)、次のいずれかを行うことができます:

*Google ネイティブ クライアント (NaCl) を使用します。これは、ユーザーのオペレーティング システムに関係なく、コンパイルされた C および C++ コードをブラウザーで効率的かつ安全に実行するためのサンドボックスです。*おそらく、C および C++ コードを jaascript に変換するためのフレームワークである Emscripten を確認することをお勧めします。このようにして、動作する C または C++ バイナリを取得し、それらを Javascript に変換して、ブラウザーでも動作させることができます。

于 2015-04-16T14:10:54.870 に答える