如何有效控制数据写入和读取? 要么 降低读/写速度的可能原因是什么? 我的代码中有错误吗? 目前它很慢。
我正在使用以下代码:
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();
请提出建议或解决方案..
答案 0 :(得分:0)
在dataStream和sslStream之间添加一个缓冲区
dataStream = client.GetStream();
bufferedStream = new BufferedStream(dataStream);
sslStream = new SslStream(bufferedStream, true, new RemoteCertificateValidationCallback(ValidateCert));
这将导致SslStream的输出缓冲(默认缓冲区大小为4096字节)输出到套接字的数据流,因此更有效地发送更大的数据块。