15

Windows 8/Server 2012 で導入された RIO ソケットを .NET で利用できるようにする .NET チームによる計画はありますか?

.NET内からそれらを利用するための当面のオプションは何ですか-Socketクラスを拡張しますか?

Windows API ドキュメントのWhat's New for Windows Socketsと Channel9 ビデオのNew Techniques to Develop Low-Latency Network Apps を除けば、それらに関するドキュメントはほとんど見つかりません。

4

2 に答える 2

5

ここで、ネイティブ コードから RIO への最初の調査についてかなり多くのことを書きました(元の質問へのコメント投稿者が指摘したように)。

マネージド コードから RIO を使用して何を達成したいのか知りたいですか? RIO のターゲット ユーザーは、ネットワーク コードのレイテンシを削減する必要がある開発者です。個人的には、マネージ コードが RIO が対象とした種類のアプリケーションにとって必ずしも理想的であるとは確信していません。私は間違っているかもしれませんが、CLR がいつでもガベージ コレクションをトリガーできる可能性があることは、RIO を使用している人が望んでいるようなものではないと思います...

ともかく。マネージ コードから RIO を使用する場合は、単純に P/Invoke を使用するのではなく、代わりにすべての RIO 作業をネイティブ コードで管理し、おそらくさまざまなネットワーク上のマネージにコールバックするコンポーネントを作成することをお勧めします。イベント。しかし、繰り返しますが、それは私がそれを行う方法です...

于 2013-08-24T20:42:17.953 に答える
4

RIO は「channels」API について実験的に調査されており、現在は開始/探索段階ですが、https ://github.com/davidfowl/Channels から使用できます。これは、libuv API および「チャネル」ベースの winsock API と並んでいます。ソケットクラスの拡張に関するあなたの質問に関して:これらのAPIの性質により、別のアプローチが望ましいように思われます-したがって、「チャネル」。

于 2016-09-02T21:36:00.817 に答える