我正在尝试连接到 SSL TCP 服务器,它可以在我的浏览器上运行,并且我可以收到硬编码的响应。在应用程序上,当使用 ReadLine 函数时抛出异常。
Error: System.ArgumentException: Cannot read the stream on System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean leaveOpen) on System.IO.StreamReader..ctor(Stream stream) on App_Name.Program.Connection.Connect(String serverIp, Int32 serverPort, ConnectionInfo connectionInfo)
tcpClient = new TcpClient(serverIp, serverPort);
sslStream = new SslStream(tcpClient.GetStream(), false, new RemoteCertificateValidationCallback(TrustAllCertificatesCallback));
streamReader = new StreamReader(sslStream);
streamWriter = new StreamWriter(sslStream);
string inputLine;
while ((inputLine = streamReader.ReadLine()) != null)
{
ParseMessage(streamWriter, serverIp, inputLine);
}
最佳答案
此行必须添加到Connect 函数下方才能正确初始化握手。
sslStream.AuthenticateAsClient(serverIp);
关于c# - 无法读取流 (sslStream),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32789780/