1

我已经使用 Socket 类的异步/IOCP 方法 BeginSend()/BeginRead()/etc 编写了一个 TCP 服务器。我想使用 SslStream 添加 SSL 功能,但从界面看来 Socket 和 SslStream 并不打算一起工作,特别是因为我根本没有使用 Streams 并且 SslStream 似乎依赖于使用 Stream .

这是可能的,还是我找错地方了?我是否需要设计自己的 Stream 子类来输入我的 Socket 实例并指向 SslStream ?由于缩放问题,我的服务器使用 IOCP 对我来说很重要。

4

1 回答 1

7

将您的 Socket 包装在 aNetworkStream中以将其与SslStream.

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

Streams 也公开 BeginRead/BeginWrite 方法,因此您不会失去这一方面。

于 2009-08-11T19:10:39.970 回答