0

我正在尝试在 nimbuzz 协议中获取更多信息,并可能找到任何开源实现。

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

似乎 nimbuzz 允许在不同协议的用户之间进行连接,但它为 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,而不是 myaccount@nimbuzz.com。myaccount@nimbuzz.com 是您的 Jid (Jabber Id)。

于 2012-03-26T18:47:56.960 回答
0

好吧,经过一次WireShark,看来nimbuzz实际上是xmpp协议

于 2012-03-23T23:29:17.553 回答
0

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

您必须使用 openfire.nimbuzz.com 来连接 nimbuzz

&

添加这个并尝试---->

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 回答