プログラムのミューテックスとシングルインスタンスとの戦いはもうすぐ終わりです。
プログラムで別のインスタンスが実行されているかどうかを確認できるようになりました。
しかし、これが私が今理解しようとしていることです:
別のインスタンスを実行している場合、新しいインスタンスから古いインスタンスにデータを送信したいと思います。
これが私の音楽プレーヤーのシナリオです:
ユーザーがmp3ファイルをクリックすると、新しいインスタンスで開きます。
新しいインスタンスは、すでにインスタンスが開いていることを確認し、ファイルパスを最初のインスタンスに送信します。
こういうことはどうやってやるの?それについて読む場所はどこでも素晴らしいでしょう。
私はまったく同じ問題のATMで働いています。この記事では、使用可能なすべてのプロセス間通信メカニズムについて読むことができます。
プロジェクトでTCPソケットを使用することを選択しました。ここでは、サーバーアプリとクライアントアプリの例を見つけることができます。
おおよそのアルゴリズムは次のとおりです。
終了する前にソケットを破棄する必要があることに注意してください。また、バックグラウンドスレッドでリッスンし、同期メカニズム(EventWaitHandleなど)を使用して、クライアントからデータを受信するまで待ってから、次のスレッドに進む必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加