gpt4 book ai didi

c# - 与 SslStream 的 XMPP TLS 连接

转载 作者:太空宇宙 更新时间:2023-11-03 13:29:39 25 4
gpt4 key购买 nike

我正在尝试创建一个连接到 Gtalk 的简单 xmpp 客户端。握手的第一部分似乎有效。为了 TLS 握手,我创建了一个客户端 SslStream,连接到目标服务器 (talk.google.com) 并成功通过了身份验证。

第一个 SSlStream.Read 是接收问候回复,一切顺利。我执行 SslStream.write 来发送我的第一个命令,但是当我执行 Sslstream.Read() 以获得回复时,我收到此错误。“System.IO.IOException:无法从传输连接读取数据:已建立连接被主机中的软件中止。”

谁能指出我正确的方向?

我使用的代码与 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");

最佳答案

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

即使您不使用这些库,您也会通过查看代码获得一些好的想法。

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

sslStream.AuthenticateAsClient("gmail.com");

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

关于c# - 与 SslStream 的 XMPP TLS 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com