2009-08-11 6 views
1

私はSocketクラスの非同期/ IOCPメソッド、BeginSend()/ BeginRead()/ etcを使用してTCPサーバーを作成しました。 SslStreamを使用してSSL機能を追加したいのですが、Socketのように見えますが、SslStreamは一緒に動作するようにはなっていません。特にStreamsを使用していないため、SslStreamはStreamを使用する必要があります。IOCPでSslStreamを使用

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

答えて

5

NetworkStreamにソケットをラップしてSslStreamと一緒に使用してください。

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

ストリームは、BeginRead/BeginWriteメソッドも公開しています。したがって、このアスペクトを緩和しないでください。

関連する問題