gpt4 book ai didi

C# SslStream 读取问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:18:07 25 4
gpt4 key购买 nike

伙计们,我正在使用 SslStream 作为服务器来测试我的应用程序,但我在从流中读取时遇到了问题。我正在使用以下代码:

        while (true)
{
int read = sslStream.Read(buffer, 0, buffer.Length);

string bufferString = System.Text.Encoding.Default.GetString(buffer);

// Check for End?
if (bufferString.IndexOf("\n\r\n", System.StringComparison.Ordinal) != -1)
{
break;
}
}

问题是第一个循环返回:

G\0\0\0\0\0

第二次运行返回:

ET /whateverman

结果应该是

GET /whateverman

问题是什么?是否有更好的方法来读取 SslStream?

最佳答案

结果完全符合预期(并且与 SSL 流没有直接关系)- 您正在转换您没有读取的字节。

如果您想从 Stream 中手动读取字符串,您必须尊重 Read 调用的结果,它会告诉您实际从流中读取的字节数。

string partialString = System.Text.Encoding.Default.GetString(buffer, 0, read);

并且不要忘记连接字符串。

注意:使用某种阅读器(StreamReader/BinaryReader)可能是更好的方法。

关于C# SslStream 读取问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19848730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com