【发布时间】:2014-07-14 14:12:20
【问题描述】:
再说一遍,是的。 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
【问题讨论】:
-
sslStream定义在哪里? -
与
SendRequest()函数在同一个类(TcpConnector)中,我在类的构造函数中与它连接(它运行良好)。 -
@Endy 也许请求超时了?
-
我正在调试它,在这里发布是我做的最后一件事,我也试过谷歌它,修复,调试。异常说:无法从传输连接中读取数据。其余的不是英文,但类似于:“连接已被计算机主机上安装的软件关闭”。
-
很抱歉没有发布完整的异常,但我认为每个 IOException 的描述都是相同的:D