2017-02-02 33 views
5

Veriler nasıl kontrol edilir ve verimli bir şekilde okunur? VEYA Okuma/yazma hızını düşürmenin olası nedeni nedir? Kodumda herhangi bir hata var mı? Şu anda çok yavaş.SSL veri oku ve aktar aktarım hızını etkin bir şekilde yönetme Sunucuda

kod aşağıda kullanıyorum:

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(); 

öneri veya çözüm verin .. İşte

ben istemciden sunucuya aktarma veri akımı uzunluğunun resmi ekledi. Müşteri verilerinin uzunluğunu arttırmak mümkün mü? ..? enter image description here

cevap

0

soket veri akışına çıkışı (varsayılan arabellek boyutu 4096 bayt) ve bu nedenle verilerin büyük parçalarını göndermek tampon SslStream çıktısını neden olacaktır

Bu

dataStream = client.GetStream(); 
bufferedStream = new BufferedStream(dataStream); 
sslStream = new SslStream(bufferedStream, true, new RemoteCertificateValidationCallback(ValidateCert)); 
veri akışını ve SslStream

arasında bir tampon ekleme çok daha verimli.

İlgili konular