問題タブ [mailslot]
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.
c++ - MailSlot のプロセス同期
Windows 上の 2 つのプロセス間でプロセス間通信を試みています。高いレベルの観点から、これら 2 つのプロセスを同期させたいと考えています。プロセス 1 プロセス 2 という 2 つのプロセスがあるとします。
プロセス 1 は 32 ビット アプリケーションであり、プロセス 2 は 64 ビット アプリケーションであり、プロセス 1 は実行中であり、プロセス 2 を呼び出すこともあります。プロセス 2 は短期間実行され、プロセス 2 を閉じます。開いています。
このシナリオでは、MailSlot が適切な候補になると思いました。メール スロットを介して通信するには、プロセス 2 がメール スロットを作成する必要があり、次にプロセス 1 がこのメール スロットにメールを送信し、プロセス 2 がメール スロットを読み取る必要があるのではなく、私の質問はこれらの 2 つのプロセスを同期して、プロセス 2 が開かれたときにメール スロットを作成し、プロセス 1 がメールを送信して待機状態に切り替わり、プロセス 1 がプロセス 2 にメールを送信し、プロセス 2 が実行に切り替わるようにするにはどうすればよいですか?状態とメールを読み取ります。
そのようなシナリオをどのように実装できますか?
c - 式: (L "文字列は null で終了していません" & & 0)
メールスロットをいじっていて、問題が発生しました。実行しようとすると、タイトルにエラー メッセージが表示されますが、どのように修正すればよいかわかりません。私がやろうとしているのは、メールスロットのフル パスを「修正」することですが、strcat_s-part が気に入らないようです。
編集: strlen を sizeof に変更すると、単にエラーが「バッファ サイズが小さすぎます」に変更されました。
c++ - WinMain パラメータ -> メールスロット -> ファイル -> エンコーディング?
次の問題があります。アプリケーションは、このアプリケーションからデータを抽出するために、いくつかのパラメーターを使用して C++ プログラムを毎秒呼び出します。C++ プログラムはWINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
、コンソール ウィンドウがユーザーに表示されないようにするためのものです。この「最初のプログラム」はデータをチェックし、それを「2 番目のプログラム」 (通常のint main()
C++) によってホストされるメールスロットに書き込みます。これはすでに上記のように機能しますが、メールスロットの内容を読み取ろうとすると、パラメーターが読み取れず、文字列の長さが異なるため、エンコードが異なるようです。
どちらのプログラムも、プロパティで Unicode を使用しています。LPWSTR
(Unicodeの場合)とLPCSTR
(ANSIの場合)の両方と対応する関数...W
を使用し...A
てみましたが、うまくいきませんでした。以下に、2 つのプログラムの「LPCSTR バージョン」を書きました。
私の最初のプログラムは次のようになります。
私の2番目のプログラムでは、次のようになります。
processMessage()
次に、最初のプログラムに送信されたものとは異なるパラメーター文字列を提供します。それはかなり奇妙に見え、読めません...
私の問題の解決策はありますか? 私の欠点はどこですか?
編集:ソースコードを含む質問全体を編集して、最新バージョンを表示しました。
android - Android のメールスロット インターフェイス
Android デバイスは Windows のメールスロット サーバーに書き込むことができますか? そして、それを実現するためのステップは何ですか?検索しましたが、このトピックに関する情報は見つかりませんでした。