我試圖連接到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