問題タブ [ipc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - Vista 上の IPC (サービスとアプリケーション)
サービスとコンソール アプリケーションを含む Vista でアプリケーションを作成しています。どちらも同じユーザー アカウントで実行されています。
サービスでは、イベントを作成し、そのイベントを待ちます。コンソール アプリケーションでは、同じイベントを開き (問題はここから始まります)、SetEvent関数を呼び出します。コンソール アプリケーションでイベントを開くことができません (エラー 5 の取得、アクセスが拒否されました)。ネットで検索したところ、整合性レベルに関する情報が表示されました (問題が整合性レベルに関連しているかどうかはわかりません)。アプリケーションはさまざまな整合性レベルを取得しました。
ここにIPCが発生するコードの一部があります
サービス
コンソール アプリケーション
ここでは、アプリケーションで、イベントを開いてイベントを設定します
管理者権限で両方のアプリケーション (サービスとコンソール アプリケーション) を実行しています (管理者としてログインし、右クリックして [管理者として実行] オプションを使用してコンソール アプリケーションを実行しています)。
コンソール アプリケーション (イベントを開いている場所) で発生するエラーは、エラー番号 5(アクセスが拒否されました。) です。
Vistaでサービスとアプリケーション間のIPCを行う方法を教えていただけると大変助かります。
前もって感謝します
ナバニース
cgi - CGI に代わるものはありますか (本当に必要ですか)?
個別のプロセスとして実行され、適切な IPC によってリンクされる 3 ~ 4 つのサービスで構成されるアプリケーションを設計しています。システムには Web インターフェイスがあり、そこにある Web サーバーを使用したいと考えています。
Web インターフェースは、同じ Web サーバー上でまったく異なることを行う他の URL を持つことを許可する URL でアクセスする必要があります。その URL の下のパスを使用して、Web インターフェースが何をすべきかを指定する予定です。これには、ネット上で他のアプリケーションが使用したり、人間がブラウザーで対話したりするための機能があります。
袖口から、私は次のように働きます:
- ウェブサーバーが受信するすべてのリクエストに対して CGI プロセスを開始するようにします (Apache の SetHandler など)。
- CGI を IPC に接続させます
- バックエンド サービスから必要なものを取得できるようにする
- サービスの回答に基づいて、CGI が HTML / XML および HTTP ステータスを返すようにします。
今、私が本当に望んでいるのは、最初の 2 つのステップを回避することです。それができない場合は、2 番目のステップを回避することです。これは、不必要なオーバーヘッドでパフォーマンスを浪費しているのではないかと心配しているからです (他のアプリケーションからの要求は頻繁に発生する可能性があります)。 )。
たとえば、PHP は MySQL データベースへの永続的な接続を開くことができます。この接続は、スクリプトの実行後も存続し、次回再作成する必要はありませんが、実際にどのように行うのかはわかりません。また、私が理解しているように、サーバーの起動時にApacheモジュールが一度ロードされるため、最初のステップが削除される可能性がありますが、Apacheに結び付けられます.
では、特定の URL のハンドラーを別の Web サーバーにフックする良い方法は何でしょうか? HTTP を処理したくありません。それ以外の場合は、2 番目のサーバーへのプロキシ設定を使用するだけかもしれませんが、車輪の再発明のようです。CGI は問題ないと思われ、同様の構造の大量のリクエストを処理する例があれば教えてください。
java - JavaとC++の間のIPCの最良のアプローチは何ですか?
単一のJVMアプリ(1つのプロセス、場合によっては複数のスレッド)とC++dllにリンクされたネイティブC++アプリケーションの間に堅牢なIPCソリューションを実装したいと思います。dllは、同じ物理マシン上にある場合とない場合があります。そうするための最良のアプローチは何ですか?
どんな提案でも大歓迎です!ありがとう!
c# - C++ (MFC) アプリと C# の間でデータを渡す
C++ での寿命が近づいているモノリシック MFC GUI アプリがあります。C# で新しい機能を構築し、各アプリ間でデータを渡すことを計画しています。
質問: C++ と C# の間でデータを渡すための最良の方法は何ですか?
注:
両端には GUI フロント エンドがあり、おそらく Id のような単純なデータを渡すだけで済み、使用するプロセス/機能を他のアプリに示すメカニズムを備えている可能性があります。
たとえば、アプリケーションの 1 つは C# の CRM システムで、グリッド内の行をダブルクリックすると、customerId とメッセージが渡され、MFC アプリの顧客フォームでその顧客を開くことができます。
少し調べてみましたが、オプションは、Windows Messaging、Memory Mapping、Named Pipes、または Windows Sockets などのようです。この段階では、名前付きパイプに傾倒していますが、他のアドバイスやヒント、または他の人々の経験を本当に感謝しています.
api - 次世代火星探査機の制御 API を RPC ではなく RESTful に設計しますか?
これが「ディスカッション」の質問に近い場合はご容赦ください。ただし、適切な説明とともに、はい/いいえの回答をいただければ幸いです。
次世代の火星探査車などのロボット用の制御 API を設計して実装する必要があるとします。RESTful の原則に従ってこの API を設計しますか、それとも XMLRPC などの従来の RPC を使用しますか?
「ロボット」は仮想マシンの集まりですが、似たようなことをしなければならないので、これを尋ねます。REST の支持者としてよく知られているかなり説得力のあるエンジニアから、API を RESTful にするよう強く勧められています。私は REST の原則を使用したことがなく、低レベルのプロセス間 API の設計にどのように適合するかを理解するのに苦労しています。REST には、変更可能なデータ リポジトリと対話するというテーマが盛り込まれているように見えますが、通常は何ホップも離れています。私がやろうとしていることは、ロボットを厳密に制御するようなものです。抽象的に言えば、ロボットが単なるデータ リポジトリであると主張できることはわかります。「PUT 左折」、「PUT 移動 100 メートル」、「外気温を取得」。しかし、これはかなり不自然なモデルのようです。確かに、キャッシュやプロキシから何のメリットも得られません (「こんにちは、JPL? これはキャンベラにある Akamai co-lo です。今、ローバーを引き継いでいますよね?」)
では、RESTful アーキテクチャはここで役に立ちますか? インタラクションが非常に狭い範囲に集中している場合でも、RPC よりも優れているのでしょうか?
c++ - LAN コンピュータ間でパイプを使用できますか?
LAN コンピュータ間でパイプを使用できますか?
特に Windows を探していますが、他のプラットフォームに関する情報があれば、後でこのスレッドを見つけた他の人にも役立ちます。
c++ - Windows/unix/linux でパイプを使用するのはなぜ危険だと考えられているのですか?
パイプを使用するのはなぜ危険だと考えられているのですか? これらのセキュリティの問題を回避するにはどうすればよいでしょうか?
主に Windows に興味がありますが、他の OS 情報があれば提供してください。
language-agnostic - Windows と Linux のパイプの違いは何ですか?
Windows と Linux のパイプの違いは何ですか?
language-agnostic - 設計の質問:IPCメカニズムに透過的にアクセスするにはどうすればよいですか?
私はこれをやりたいです(特定の言語はありません):
またはこれ:
fooが実際にIPCを介してプログラムに接続され、そのメソッドとオブジェクトにアクセスするサービスである場合、一部のレイヤーは実際にネットワークを介してメッセージを送受信します。
選択できるものがたくさんあるので、今、私は実際にはIPCメカニズムを探していません。XMLベースではなく、sである可能性があります。th。Googleのプロトコルバッファ、dbus、CORBAなど。私がよくわからないのは、他のオブジェクトと同じようにIPCにアクセスできるようにアプリケーションを構造化する方法です。
言い換えれば、プロセスの境界を越えて透過的にマッピングするOOPをどのように作成できますか?
これは設計上の問題であるというわけではなく、私はまだアーキテクチャ全体のかなり高いレベルで作業しています。ですから、私はこれがどの言語になるかについてはまだかなり不可知論者です。ただし、C#、Java、Pythonはすべて使用される可能性があります。
windows-mobile - Windows Mobile で簡単に IPC を実行できますか?
Windows Mobile の C++ プロジェクト (.NET なし) で、独立して実行されている 2 つのアプリケーション間で簡単に通信する方法を探しています。アプリケーション A はサービスを実行しますが、アプリケーション B はユーザーに何らかの機能を提供します。そのために、B は A の関数の一部を呼び出す必要があります。COM で何かを実装することは避けたいと思います。
実際、私はシリアライゼーションなどを一切行わず (つまり、ソケット/パイプ/ファイルの使用を除外します)、A が B の一部であるかのように、B がすべてのパラメーターとポインターを A に渡すようにしたいと考えています。また、アプリ C、D、および E は、実行中の A のインスタンスを 1 つだけ使用して同じことを実行できるはずです。
B は、サイズが以前に知られていない A に配列 (または std::vector または std::map) を返す場合があることを追加する必要があります。
これは、Windows Mobile やその他のプラットフォームで可能ですか?