我试图连接到SSL TCP服务器,它在我的浏览器上工作,我可以收到硬编码的响应。在应用程序中,使用ReadLine函数时会发生异常。无法读取流(sslStream)
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);
}
任何类型的防火墙限制或其他访问限制,你可以想到这会在你的环境中造成这种限制吗? – Igor
您是否在某处设置了['ServicePointManager.SecurityProtocol'](https://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.securityprotocol(v = vs.110).aspx)? – rene
@rene不,这是除证书验证外的整个代码。 – Kenny