2017-02-02 33 views
5

データの書き込みと読み取りを効率的に制御する方法は? OR 読み取り/書き込み速度を低下させる理由は何ですか? 私のコードに間違いはありますか? 現在は非常に遅いです。サーバーでSSLデータの読み取りと書き込みの転送速度を効率的に管理する

私はコードの下に使用しています:

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

が提案や解決策を教えてください...ここで

私はクライアントからサーバへのデータ転送の現在の長さの画像を添付しました。クライアントデータの長さを増やすことは可能ですか? enter image description here

答えて

0

これはSslStreamの出力がソケットのデータストリームに(デフォルトのバッファサイズは4096バイトである)の出力をバッファリングさせ、したがって、データの大きなチャンクを送信します

dataStream = client.GetStream(); 
bufferedStream = new BufferedStream(dataStream); 
sslStream = new SslStream(bufferedStream, true, new RemoteCertificateValidationCallback(ValidateCert)); 

データストリームとsslStream間のバッファを追加します。はるかに効率的です。

関連する問題