我已经使用socket类的异步/iocp方法beginsend()/beginread()/等编写了一个TCP服务器。我想使用sslstream添加ssl功能,但从接口上看,socket和sslstream似乎不打算一起工作,特别是因为我根本不使用流,sslstream似乎依赖于要使用的流。
这是可能的,还是我找错地方了?我是否需要设计自己的流子类,这些子类将提要到我的套接字实例中并指向sslstream?由于存在伸缩性问题,我的服务器使用IOCP对我很重要。
用一个 NetworkStream 将其与 SslStream .
NetworkStream
SslStream
Socket socket; ... using (var networkStream = new NetworkStream(socket, true)) using (var sslStream = new SslStream(networkStream, ...)) { // use sslStream.BeginRead/BeginWrite here }
流也公开了beginread/beginwrite方法,因此您不需要松开这一方面。