【问题标题】:XMPP TLS connection with SslStream与 SslStream 的 XMPP TLS 连接
【发布时间】:2011-01-11 22:50:36
【问题描述】:

我正在尝试创建一个连接到 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");

【问题讨论】:

    标签: c# xmpp ssl sslstream


    【解决方案1】:

    我会尝试使用 .Net 的现有 XMPP 库之一:

    即使您不使用这些库,您也可以通过查看代码获得一些好主意。

    在这种情况下,您可能想要:

    sslStream.AuthenticateAsClient("gmail.com");
    

    gmail.com 是您尝试登录的 JID 中的域名。

    【讨论】:

    • 我查看了这些库。我试图从头开始构建一个作为练习,因为我想了解更多关于 xmpp 的信息。我已经尝试过 gmail.com,但它有同样的问题。
    • 我认为我的问题在于我如何使用 ssl 流而不是服务器。
    猜你喜欢
    • 2010-09-19
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多