使用opensource xmpp库连接到nimbuzz聊天

时间:2012-03-16 17:42:16

标签: network-protocols instant-messaging agsxmpp nimbuzz

我正在尝试在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天,我可能会增加赏金)

3 个答案:

答案 0 :(得分:1)

在xmpp.Open中你必须传递用户名和密码。

您的用户名是myaccount,而不是myaccount@nimbuzz.com。 myaccount@nimbuzz.com是你的Jid(Jabber Id)。

答案 1 :(得分:0)

在一次WireShark会议之后,似乎nimbuzz实际上是xmpp协议

答案 2 :(得分:0)

// xmpp.ConnectServer =&#34; o.nimbuzz.com&#34;;

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

&安培;

添加此内容并尝试----&gt;

<aiur-data-array strips="{{mystrips}}" availableModes="{{modes}}" id="dataArray"></aiur-data-array>
              <aiur-strip-view availableModes="{{modes}}" strips="{{mystrips}}"  id="aiurViewer"></aiur-strip-view>