0

私は Nimbuzz プロトコルでより多くの情報を取得しようとしており、おそらくオープン ソースの実装を見つけようとしています。

http://en.wikipedia.org/wiki/Nimbuzz_IM

nimbuzz は、異なるプロトコルのユーザー間の接続を許可しているようですが、nimbuzz ユーザー間の通信用に独自のネットワークを提供します。

編集

の、ニンバズ チャット プロトコルが XMPP であることがわかりました。 agsXMPPのような XMPP クライアント ライブラリに接続してチャットしようと試みました。

これまでのところ、接続したり何もしたりすることができませんでした。これまでのコードは次のようになります。

        XmppClientConnection xmpp;

        void onLoginHandler(object o)
        {
            xmpp.Send(new Message("someFriend@nimbuzz.com", MessageType.chat, "hello world!"));
        }

        void errorHandler(object sender, Element e)
        {
        }

        void exceptionHandler(object sender, Exception ex)
        {
        }

        void rosterStartHandler(object sender)
        {
        }

        void rosterEndHandler(object sender)
        {
        }

        void rosterItemHandler(object sender, RosterItem item)
        {
        }

.....そして、で開こうとしています

xmpp = new XmppClientConnection("nimbuzz.com");
                xmpp.AutoRoster = true;
                xmpp.ConnectServer = "o.nimbuzz.com";
                xmpp.OnLogin += onLoginHandler;
                xmpp.OnAuthError += errorHandler;
                xmpp.OnError += exceptionHandler;
                xmpp.OnRosterStart += rosterStartHandler;
                xmpp.OnRosterItem += rosterItemHandler;
                xmpp.OnRosterEnd += rosterEndHandler;
                xmpp.Open("myaccount@nimbuzz.com", "mypassword");

ただし、ビットインした後、次の要素を使用して OnAuthError に入力します。

<not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />

私は、wireshark を使用して nimbuzz ログインでパケットを盗聴しようとしました。いくつかのハンドシェイク XMPP パケットにもかかわらず、残りは暗号化されているようです。これは私が盗聴できたものです:

<stream:stream to='nimbuzz.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'>

server - 195.211.49.6 (o.nimbuzz.com)
<stream:features>
<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
<compression xmlns="http://jabber.org/features/compress">
<method>zlib</method>
</compression>
<mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
<mechanism>PLAIN</mechanism>
<mechanism>DIGEST-MD5</mechanism>
</mechanisms>
<register xmlns="http://jabber.org/features/iq-register"/>
</stream:features>

client - <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>

server - <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>

誰かがオープン ソースの XMPP ライブラリを使用して Nimbuzz チャットに接続する正しい方法を見つけ、その解決策をここに投稿できるかどうかを質問してください。質問報酬を授与します。(問題が残りの 4 日以上かかる場合は、報奨金を増やす可能性があります)

4

3 に答える 3

1

xmpp.Open では、ユーザー名とパスワードを渡す必要があります。

あなたのユーザー名は、myaccount@nimbuzz.com ではなく、myaccount です。myaccount@nimbuzz.com はあなたの Jid (Jabber ID) です。

于 2012-03-26T18:47:56.960 に答える
0

OK、WireShark のセッションの後、nimbuzz は実際には xmpp プロトコルのようです

于 2012-03-23T23:29:17.553 に答える
0

// xmpp.ConnectServer = "o.nimbuzz.com";

nimbuzz を接続するには、openfire.nimbuzz.com を使用する必要があります。

&

これを追加して試してみてください---->

ConnectionConfiguration config = new ConnectionConfiguration(URLConstants.XMPP_HOST, URLConstants.XMPP_PORT);
        config.setSASLAuthenticationEnabled(false);
 config.setSASLAuthenticationEnabled(false);
 config.setSecurityMode(ConnectionConfiguration.SecurityMode.enabled);
 config.setCompressionEnabled(false);
于 2015-11-29T02:23:06.603 に答える