Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#SslStream阅读问题_C#_Ssl_Sslstream - Fatal编程技术网

C#SslStream阅读问题

C#SslStream阅读问题,c#,ssl,sslstream,C#,Ssl,Sslstream,伙计们,我正在使用SslStream作为服务器来测试我的应用程序,但是我在读取流时遇到了问题。我正在使用以下代码: while (true) { int read = sslStream.Read(buffer, 0, buffer.Length); string bufferString = System.Text.Encoding.Default.GetString(buffer);

伙计们,我正在使用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

问题是什么?是否有更好的方法读取SSL流?

结果与预期完全一致(与SSL流没有直接关系)-您正在转换未读取的字节

若你们想从流中手动读取字符串,你们必须尊重读调用的结果,它告诉你们从流中实际读取了多少字节

string partialString = System.Text.Encoding.Default.GetString(buffer, 0, read);
然后别忘了连接字符串

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