SSL数据读写传输速率在Server中高效管理

Tam*_*miL 6 c# encryption ssl client server

如何有效地控制数据写入和读取?或者降低读/写速度的可能原因是什么?我的代码中有错误吗?目前它很慢.

我使用下面的代码:

listener.BeginAcceptTcpClient(new AsyncCallback(AcceptCallback), listener);
 .....
// Inside AcceptCallback()
dataStream = client.GetStream();
sslStream = new SslStream(dataStream, true, new RemoteCertificateValidationCallback(ValidateCert));

sslStream.AuthenticateAsServer(serverCertificate);
....
sslState.sslStream.BeginRead(buffer, 0, Length, StartSSLSession, sslState);


// Inside StartSSLSession(IAsyncResult ar)
sslStream.Write(responseBuffer);
sslStream.Flush();
Run Code Online (Sandbox Code Playgroud)

请提出建议或解决方案..

这里我附上了从客户端传输到服务器的数据当前长度的图像.这是否可以增加客户端数据的长度..? 在此输入图像描述

Tim*_*Tim 0

在dataStream和sslStream之间添加缓冲区

dataStream = client.GetStream();
bufferedStream = new BufferedStream(dataStream);
sslStream = new SslStream(bufferedStream, true, new RemoteCertificateValidationCallback(ValidateCert));
Run Code Online (Sandbox Code Playgroud)

这将导致 SslStream 的输出以缓冲区(默认缓冲区大小为 4096 字节)输出到套接字的数据流,从而更有效地发送更大的数据块。