我正在尝试创建一个连接到 Gtalk 的简单 xmpp 客户端。握手的第一部分似乎有效。Ror TLS 握手我创建了一个客户端 SslStream,连接到预期的服务器 (talk.google.com) 并成功获得了身份验证。
第一个 SSlStream.Read 是接收问候回复,一切正常。我执行 SslStream.write 来发送我的第一个命令,但是当我执行 Sslstream.Read() 来获取回复时,我收到此错误。“System.IO.IOException: Unable to read data from the transport connection: An installed主机中的软件中断了连接。”
谁能指出我正确的方向?
我使用的代码与 msdn http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx上的示例非常相似, 除了当 TLS 是时我从网络流切换到 Sslstream协商的。
netStream.Flush();
sslStream = new SslStream(netStream,
true,
new RemoteCertificateValidationCallback(ValidateServerCertificate),
null
);
sslStream.AuthenticateAsClient("talk.google.com");