首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# SslStream阅读问题

C# SslStream阅读问题
EN

Stack Overflow用户
提问于 2013-11-07 23:20:35
回答 1查看 1K关注 0票数 1

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

代码语言:javascript
复制
        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;
            }
        }

问题是第一个循环返回:

代码语言:javascript
复制
G\0\0\0\0\0

第二次运行返回:

代码语言:javascript
复制
ET /whateverman

结果应该是

代码语言:javascript
复制
GET /whateverman

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-08 00:04:38

结果与预期完全相同(与SSL流没有直接关联)--您正在转换没有读取的字节。

如果要从stream手动读取字符串,则必须尊重read的结果,该结果告诉您实际从流读取的字节数很多。

代码语言:javascript
复制
string partialString = System.Text.Encoding.Default.GetString(buffer, 0, read);

别忘了连接字符串。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19848730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档