首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SslStream错误:流不可写

SslStream错误:流不可写
EN

Stack Overflow用户
提问于 2014-08-13 22:32:15
回答 1查看 1.2K关注 0票数 2

我正面临着一个奇怪的错误。以下代码总是抛出异常(System.ArgumentException "Stream was not writable"):

代码语言:javascript
复制
TcpClient socket = new TcpClient();
socket.Connect("serverIp", serverPort);
//wrap networkstream with ssl 
SslStream sslStream = new SslStream(socket.GetStream(),false); 

stream.ReadTimeout = 5000;
stream.WriteTimeout = 5000;

//following line throws System.ArgumentException "Stream was not writable"
var writer = new BinaryWriter(sslStream); 
writer.Write(abMessage, nStart, nLength);
writer.Flush();

'sslStream‘对象canWritecanRead属性总是'false’。

很明显,我已经在很多论坛上搜索过了,但是,我总是发现同样的代码对我不起作用。

我怎样才能修正这个异常?

EN

回答 1

Stack Overflow用户

发布于 2014-08-13 23:52:49

一旦您创建了一个SslStream (在TcpClient之上),您应该与ssl连接握手。为此,您将使用SslStream类型中可用的一些方法:

  • AuthenticateAsClient (几个过载)
  • AuthenticateAsServer (几个过载)

(或者它们是异步变体BeginAuthenticateAs...)

如果不使用这种握手方法,SslStream就不是真正的设置,您将无法从/写入网络流。

要使用的方法(AuthenticateAsClientAuthenticateAsServer)是特定于您的实现和所需的Stream使用。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25297300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档