Dart.Mail 名前空間 > TcpBase クラス : ReadAsync メソッド |
Secure Mail 4.0を使用するときは通常、ワーカー(非UI)スレッドでブロッキング呼び出しを行います。この手法では状態情報を保存する必要がないため、開発が非常に簡単になりますが、接続ごとに専用のスレッドが必要になります。ストリーミングインタフェース(GetStream())でのブロッキング呼び出しの使用は階層化されたプロトコル(SSLやTelnetなど)の実装を大幅に向上させ、これによって各プロトコルはアプリケーション開発者にほとんど透過的になります。
ただし、ソケットごとに専用のワーカースレッドが作成される方法では拡張性が十分でないケースもあります。このような場合は、IO完了スレッドを使用するReadAsyncを使用できます。このメソッドを使用すると、接続ごとに専用のワーカースレッドは作成されず、IO完了スレッドから提供したデリゲートが呼び出されます。これは、専用のワーカースレッドを使用せずに高パフォーマンスのサーバーを作成する最良の方法です。