【发布时间】:2009-08-27 14:55:39
【问题描述】:
我正在尝试使用 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();
【问题讨论】:
-
我刚刚想到另一种可能性:代码中的 xml 变量是代表您要发送的一部分 xml,还是代表整个内容?
-
整个事情,xml 可以是任何东西,也刚刚开始发送具有相同行为的单词 buffalo
-
你有没有想过这个问题?我想知道 SSL/TLS 在使用非流模式时如何通过分组密码进行流式传输。这个问题在某种程度上证实了我最初的想法,即这是不可能的。