2009-08-11 8 views
1

Ich habe einen TCP-Server mit den asynchronen/IOCP-Methoden Socket-Klasse, BeginSend()/BeginRead()/etc geschrieben. Ich möchte die SSL-Fähigkeit mit SslStream hinzufügen, aber von der Schnittstelle aus sieht es so aus, als ob Socket und SslStream nicht zusammen funktionieren, insbesondere weil ich überhaupt keine Streams verwende und SslStream anscheinend davon abhängt, mit einem Stream arbeiten zu können .Verwendung von SslStream mit IOCP

Ist das möglich, oder suche ich an der falschen Stelle? Muss ich meine eigene Stream-Unterklasse gestalten, die in meine Socket-Instanzen einfließt und auf SslStream verweist? Es ist mir wichtig, dass mein Server IOCP aufgrund von Skalierungsfragen verwendet.

Antwort

5

Wickeln Sie Ihren Sockel in eine NetworkStream, um es mit einer SslStream zu verwenden.

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

Streams Beginread/Beginwrite Methoden als auch aussetzen, so dass Sie diesen Aspekt nicht verlieren.

Verwandte Themen