我正在尝试使用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();
答案 0 :(得分:1)
我的猜测是,你的StreamWriter正在分块你的数据。尝试设置AutoFlush = true。