我正在尝试创建一个连接到Gtalk的简单xmpp客户端。握手的第一部分似乎起作用了。我创建了一个客户端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");发布于 2011-01-12 22:00:36
我尝试为.Net使用一个现有的XMPP库:
http://code.google.com/p/jabber-net/
即使你不使用这些语言,你也会从代码中得到一些好的想法。
在这种情况下,您可能希望:
sslStream.AuthenticateAsClient("gmail.com");其中gmail.com是您试图登录的JID中的域名。
https://stackoverflow.com/questions/4663586
复制相似问题