1

Socket クラスの非同期/IOCP メソッド、BeginSend()/BeginRead()/etc を使用して TCP サーバーを作成しました。SslStream を使用して SSL 機能を追加したいのですが、インターフェイスからは、特に Streams をまったく使用しておらず、SslStream が動作する Stream に依存しているように見えるため、Socket と SslStream は連携することを意図していないように見えます.

これは可能ですか、それとも間違った場所を探していますか? Socket インスタンスにフィードする独自の Stream サブクラスを作成し、それを SslStream に指定する必要がありますか? スケーリングの問題から、サーバーで IOCP を使用することが重要です。

4

1 に答える 1

7

Socket を でラップして、NetworkStreamで使用しますSslStream

Socket socket;
...
using (var networkStream = new NetworkStream(socket, true))
using (var sslStream = new SslStream(networkStream, ...))
{
   // use sslStream.BeginRead/BeginWrite here
}

ストリームは BeginRead/BeginWrite メソッドも公開するため、この側面を失うことはありません。

于 2009-08-11T19:10:39.970 に答える