我正在使用 C# .NET 使用 SslStream 将大量大型文件从客户端上传到服务器。它的速度是未加密上传的两倍。延迟多少是正常的?
关于如何提高加密框架性能的任何建议?降低 pfx/pvk 的加密强度有帮助吗?如果有怎么办?欢迎所有提示。
编辑:在每个客户端会话中上传 1 个或多个文件。在我的测试中,有 1250 个。客户端使用相同的 SslStream 进行会话...
服务器代码:
private void OnAcceptTcpClient(IAsyncResult result)
{
var client = _listener.EndAcceptTcpClient(result);
Stream stream = client.GetStream();
if (_cert != null)
{
var ssl = new SslStream(stream, false);
ssl.AuthenticateAsServer(_cert, false, SslProtocols.Tls, false);
stream = ssl;
}
// Processing block
...
}
客户代码:
public IAsyncResult BeginSend(string host, int port, bool bTls, AsyncCallback callback, object state)
{
_client = new TcpClient(host, port) { NoDelay = NoDelay };
Stream stream = _client.GetStream();
if (bTls)
{
var ssl = new SslStream(stream, false, new RemoteCertificateValidationCallback((o, c, ch, er) => true));
ssl.AuthenticateAsClient(host);
stream = ssl;
}
// Send all files
return BeginSend(stream, callback, state);
}
非常感谢。