java xmpp smack_如何使用java smack库连接XMPP bosh服务器?

我使用strophe.js在webapp上运行xmpp客户端,根据我的用例场景我必须快速切换到不同的页面

当前的方法并不安全,因为jid和密码在java脚本中是可见的,我正在寻找解决方案来在strophe客户端中实现安全性,试图使连接时间(与bosh)更短,同时阅读“使用JavaScript和XMPP编程”一书jQuery“通过jake moffitt我遇到了一个解决方案,我上面的两个问题都是实现会话机制的元素.它说我们可以使用strophe attach(jid,sid,rid)连接到现有连接,所以我需要SID和RID ,我可以从应用程序服务器获得!

本书给出了一个用户登录Web应用程序时自动连接到bosh服务器的示例,作者使用python中的Django项目实现它,因为我使用java作为服务器端语言我尝试使用java smcak-4.0实现相同的示例.3和smack-bosh-4.0.3

但无法连接到bosh服务器(我使用ejabberd作为xmpp服务器)

我的代码如下

BOSHConfiguration config = new BOSHConfiguration(false,"192.168.0.106",5280,"/http-bind/","192.168.0.106");

XMPPBOSHConnection xbc=new XMPPBOSHConnection(config);

xbc.connect();

xbc.login("admin", "admin");

System.out.println(xbc.getConnectionID());

堆栈跟踪

java.lang.ClassNotFoundException: org.xmlpull.v1.XmlPullParserFactory

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)

at org.jivesoftware.smack.SmackConfiguration.processConfigFile(SmackConfiguration.java:352)

at org.jivesoftware.smack.SmackConfiguration.processConfigFile(SmackConfiguration.java:347)

at org.jivesoftware.smack.SmackConfiguration.(SmackConfiguration.java:155)

at org.jivesoftware.smack.ConnectionConfiguration.(ConnectionConfiguration.java:67)

当我试图登录到波什服务器时,它每次都会失败,我不确定这里有什么问题可以解释一下吗?

我发现的另一件事是可以使用“xbc.getConnectionID()”获取会话标识符(SID)但是如何查找请求标识符?

对上述问题的任何帮助都将是适合的!

提前致谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值