0

你好!请帮我弄清楚为什么我不能通过 C# 通过 BOSH 登录,但可以通过 Strophe 登录。我使用矩阵 XMPP SDK。这是我使用的代码:

...

XmppClient xmpp = new XmppClient();
xmpp.SetXmppDomain("xmpptest.com");    

xmpp.Transport = Matrix.Net.Transport.BOSH;
xmpp.Uri = new System.Uri("http://xmpptest.com:5280");

xmpp.Username = "ksu@xmpptest.com";
xmpp.Password = "123456";

xmpp.OnBind += new EventHandler<JidEventArgs>(xmpp_OnBind);
xmpp.OnAuthError += new EventHandler<Matrix.Xmpp.Sasl.SaslEventArgs>(xmpp_OnAuthError);
xmpp.OnLogin += new EventHandler<Matrix.EventArgs>(xmpp_OnLogin);
xmpp.OnMessage += new EventHandler<MessageEventArgs>(xmpp_OnMessage);
xmpp.OnPrebind += new EventHandler<Matrix.Net.PrebindEventArgs>(xmpp_OnPrebind);
xmpp.OnBindError += new EventHandler<IqEventArgs>(xmpp_OnBindError);
xmpp.OnBind += new EventHandler<JidEventArgs>(xmpp_OnBind);
xmpp.OnPresence += new EventHandler<PresenceEventArgs>(xmpp_OnPresence);
xmpp.OnBeforeSasl += new EventHandler<Matrix.Xmpp.Sasl.SaslEventArgs>(xmpp_OnBeforeSasl);

xmpp.Prebind();

...但是在 Prebind 方法之后什么都没有发生

4

2 回答 2

0

用户名只能是 ksu,而不是 ksu@xmpptest.com。如果仍然失败,XML 日志会有所帮助。

于 2012-07-26T21:11:07.300 回答
0

通过安装 ejabberd 服务器而不是 Tigase 来解决。上面的代码运行良好!

于 2012-07-30T09:25:00.930 回答