2011-01-11 19 views
1

Gtalkに接続する簡単なxmppクライアントを作成しようとしています。 ハンドシェイクの最初の部分がうまくいくようです。 TLSハンドシェイクを作成する目的のサーバー(talk.google.com)に接続されたクライアントSslStreamを作成し、正常に認証されました。XMPP SLSLとのTLS接続

最初のSSlStream.Readは挨拶の返信を受け取ることですが、うまくいきました。私は最初のコマンドを送信するためにSslStream.writeを行いますが、返信を得るためにSslstream.Read()を実行すると、このエラーが発生します。 "System.IO.IOException:トランスポート接続からデータを読み取ることができません:接続はホストマシンのソフトウェアによって中断されました。

誰でも正しい方向に向けることができますか?

私は、TLSがネゴシエートされたときにネットワークストリームからSslstreamに切り替えることを除いて、msdnの例に非常に似たコードを使用しています。http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx

netStream.Flush(); 
sslStream = new SslStream(netStream,    
       true, 
       new RemoteCertificateValidationCallback(ValidateServerCertificate), 
       null 
       ); 

    sslStream.AuthenticateAsClient("talk.google.com"); 

答えて

1

私は、.NET用の既存のXMPPライブラリのいずれかを使用して試してみた:

あなたはドン場合でも」これらのライブラリを使用すると、コードを見て良いアイデアが得られます。この場合

、あなたはおそらくしたい:

gmail.comはJIDからドメイン名であるあなたがでログインしようとしている
sslStream.AuthenticateAsClient("gmail.com"); 

+0

私はそれらのライブラリを見ました。私がxmppについてもっと学びたいと思っているように、私はエクササイズとして最初からビルドしようとしています。私はすでにgmail.comを試しましたが、同じ問題があります。 – Marcom

+0

私の問題は、サーバーではなくsslストリームをどのように使用しているのかと思います。 – Marcom

関連する問題