gpt4 book ai didi

C# SslStream 在第二次请求时抛出 IOException

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:20 24 4
gpt4 key购买 nike

又是我,是的。 5 分钟编码 = 1 天尝试修复代码。这是我的代码,它抛出 IOException(无法从流中读取)仅在第二个请求上,第一个工作正常。异常在 bytes = sslStream.Read(buffer, 0, buffer.Length); 处抛出,我已尝试修复此问题,但没有结果。

请求函数的代码如下:

public void SendRequest(string request)
{
byte[] buffer = new byte[2048];
int bytes = -1;
StringBuilder message = new StringBuilder() ;

sslStream.Write(Encoding.ASCII.GetBytes(request + "\r\n"));
do
{
try
{
bytes = sslStream.Read(buffer, 0, buffer.Length);
message.Append(Encoding.ASCII.GetString(buffer, 0, bytes));
}
catch (Exception)
{
throw;
}

} while(!message.ToString().Contains("\n"));
Console.WriteLine(message);
}

代码调用SendRequest()函数:

while((request = Console.ReadLine().ToLower()) != "exit")
{
con.SendRequest(request);
}

如果您想要完整代码,请在此处查看:GitHub Repo

最佳答案

我知道现在发生了什么。我正在连接到 POP3 服务器 - 在问候消息之后, session 处于授权状态,此时我必须传递两个命令:USERPASS,如果我没有正确传递命令,服务器关闭连接(这就是我得到 IOException 的原因)。唯一不会关闭连接的 3 个命令可能是:USERPASSQUIT。我希望这个帖子将来能对某人有所帮助:)

关于C# SslStream 在第二次请求时抛出 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24738553/

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