55

私はしばらく前に Win32 コードで IPC を使用しました - クリティカル セクション、イベント、およびセマフォ。

.NET 環境でのシーンはどうですか? 使用可能なすべてのオプションと、いつ使用するか、およびその理由を説明するチュートリアルはありますか?

4

6 に答える 6

31

Microsoft の最新の IPC はWindows Communication Foundationです。実際には、下位レベル (tcp、upd、名前付きパイプなど) には何も新しいものはありませんが、WCF は IPC 開発を大幅に簡素化します。

役立つリソース:

もちろん、WCF 上の MSDN

于 2008-09-11T09:34:50.150 に答える
12

明白な (WCF) とは別に、かなり優れた C#/CLR 用の ZeroMQ バインディングがあります。

http://www.zeromq.org/bindings:clr

WCF よりもはるかに少ないコードと構成で、メッセージ指向の IPC、pub/sub、およびその他のさまざまな戦略を実行します。

また、他の何よりも少なくとも 1 桁高速であり、低遅延の通信が必要な場合は遅延が少なくなります。

セマフォ、ロック、ミューテックスなどに関して。共有による通信ではなく、通信による共有を行うと、従来のパラダイムよりも手間がかかりません。

于 2011-09-27T16:36:06.430 に答える
10

名前付きパイプまたはUnixソケットを使用する傾向があります(MS.NETまたはMonoのどちらをターゲットにしているかによって異なります。抽象化するクラスがあります)。使いやすく、移植性があり、管理されていないコードと簡単に相互運用できるためです。 。とは言うものの、マネージコードのみを扱っている場合は、WCFまたはリモーティングを使用します。Monoサポートが必要な場合は後者を使用します。WCFサポートはまだ存在しないためです。

于 2008-09-11T10:00:31.023 に答える
7

ネットワークを介した通信ではなく、マシンドメインで使用する必要がある場合は、メモリマップファイルを使用することをお勧めします。次のリンクを参照してください。

http://techmikael.blogspot.com/2010/02/blazing-fast-ipc-in-net-4-wcf-vs.html

于 2012-01-03T13:18:42.533 に答える
3

コミュニケーションよりも同期技術に興味があるように聞こえます。もしそうなら、あなたはここから始めたいと思うかもしれません、あるいはおそらくこのより簡潔な概要

于 2008-09-11T10:40:28.277 に答える
3

.NET Remoting もありますが、これは非常に優れていると思いますが、WCF があるため、現在は廃止されていると思います。

于 2008-09-11T09:38:24.463 に答える