【发布时间】:2014-09-03 00:06:24
【问题描述】:
这是我发送以 SSL 编码的 TCP 请求并从服务器获取答案的代码,但它不起作用。调试和尝试捕获异常不起作用。
public void SendRequest(string request)
{
byte[] buffer = new byte[2048];
int bytes = -1;
sslStream.Write(Encoding.ASCII.GetBytes(request));
bytes = sslStream.Read(buffer, 0, buffer.Length);
Console.WriteLine(Encoding.ASCII.GetString(buffer, 0, bytes));
}
我从 stackoverflow 的答案中得到了这个答案,所以我很惊讶它不起作用。这是我从服务器接收问候的代码(它工作正常):
byte[] buffer = new byte[2048];
StringBuilder messageData = new StringBuilder();
int bytes = 0;
bytes = sslStream.Read(buffer, 0, buffer.Length);
Decoder decoder = Encoding.UTF8.GetDecoder();
char[] chars = new char[decoder.GetCharCount(buffer, 0, bytes)];
decoder.GetChars(buffer, 0, bytes, chars, 0);
messageData.Append(chars);
Console.Write(messageData.ToString());
【问题讨论】:
-
“我从 stackoverflow 的答案中得到了这个,所以我很惊讶它不起作用。”网络上的大多数 TCP 内容都大错特错。小心……
-
“不起作用”是什么意思?
-
它没有显示来自服务器的答案,当我调试我的程序时,它停在这条线
bytes = sslStream.Read(buffer, 0, buffer.Length);附近,就停了。