C#ssl stream在发送之前不会停止缓冲

时间:2009-08-27 14:55:39

标签: c# ssl

我正在尝试使用C#通过ssl套接字连接到服务器并来回发送xml数据。似乎数据将不会被发送,直到它达到1000字节的特定数据包大小,此时所有数据包都被打碎在彼此之上。有没有办法强制ssl库在发送数据包时发送数据包?

我正在使用SslStream和StreamWriter来发送数据,我已经尝试将数据包大小缩小并将NoDelay设置为true无效。我只是缺少一些东西吗?

sslStream = new SslStream(sslClient.GetStream(), false, new RemoteCertificateValidationCallback(CertificateValidationCallback));
sslStream.AuthenticateAsClient(appSettings.CBPASServer);
showSslInfo(appSettings.CBPASServer, sslStream, true);
streamWriter = new StreamWriter(sslStream);

...

sslStream.Write(xml);
sslStream.Flush();

1 个答案:

答案 0 :(得分:1)

我的猜测是,你的StreamWriter正在分块你的数据。尝试设置AutoFlush = true。