gpt4 book ai didi

c# - SslStream 读取所有字节

转载 作者:行者123 更新时间:2023-11-30 21:09:54 30 4
gpt4 key购买 nike

当我尝试从 SslStream 函数读取时,如果我没有设置连接超时,Read() 永远不会结束,但如果我设置了连接超时异常。这家伙有同样的问题http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.read.aspx .我不知道在这里做什么代码

    public byte[] ReadBytes()
{
this.bufferGlobal.Clear();
byte[] buffer = new byte[this.bufferSize];
int recv = this.stream.Read(buffer, 0, buffer.Length);
while (recv != 0)
{
addBytes(buffer, ref bufferGlobal, recv);
recv = this.stream.Read(buffer, 0, buffer.Length);
}
return (byte[])this.bufferGlobal.ToArray(typeof(byte));
}

提前致谢。

更新:

我想我找到了答案。我可以将 SslStream 上的读取超时设置为等于 1,该值对于 socket alive 没有意义(这意味着您可以下载大文件并且不用担心 SslStream 他不会关闭连接或中断接收数据)。我只是测试这个解决方案,但似乎工作正常。谢谢大家。

最佳答案

您正在从网络流中读取,这意味着您不会遇到流的结尾,直到另一端关闭它的一半连接。仅仅停止发送数据是不够的。因此,让您的其他程序在发送完所有想要发送的数据后关闭连接。

关于c# - SslStream 读取所有字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8792111/

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