2011-07-14 4 views
0

JavaのSelectionKey、SelectableChannel、SelectorのC#クラスは何ですか?これらのクラスの直接的な翻訳や、次善のものはありますか?JavaのSelectionKey、SelectableChannel、SelectorのC#クラスは?

編集: Marc Gravell氏は、IO操作(ネットワーク)用のマルチプレクサを指摘しています。

+2

彼らの意図が何人かの人を救うだろうと私たちに伝えてくれました(ある人はネットだがjavaではない)... –

+0

ああ、IOオペレーションのためのマルチプレクサ? –

答えて

2

.NETのjava.nioモデルに直接対応するクラスはありません。非同期IOは、通常、BeginRead/EndRead(など)アプローチを使用して実行されます。 WebClientのようなクラスで使用されるイベントベースの非同期モデルもあります。さらに、タスク並列ライブラリを備えた.NET 4では、タスクベースの非同期を使用することができ、Begin/Endパターンを利用することもできます。

非同期IOの詳細については、in MSDNを参照してください。

C#5では非同期メソッドが導入されることに注意してください。これにより多くの作業が簡単になります。

1

this articleを見てください。これは、C#で達成しようとしているものの例を示しています。 Socket.Selectを使用して多重化I/Oを実現する方法を示します。