锁定老帖子 主题:用androidpn来实现推送
精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-06-15
crking32 写道 我将androidpn放入自己项目中,服务端一直报错,咋回事呢?
{ERROR} [2012-06-15 14:38:59,533] <org.androidpn.server.xmpp.net.XmppIoHandler> : java.lang.NoClassDefFoundError: Could not initialize class org.androidpn.server.xmpp.ssl.SSLConfig SSLConfig这个类明明是存在的啊? 我的也是,这就是bug吧 |
|
返回顶楼 | |
发表时间:2012-06-16
小弟也在研究这个。能否发份最新的代码给我。谢谢
masterfw@126.com |
|
返回顶楼 | |
发表时间:2012-06-20
万分感谢牛人的分享,帮了很大的忙。然后再劳烦牛人帮忙解答一下 openfire和androidpn有啥关系?他们之间的主要区别是啥?还有androidpn能够支持多大的用户量并发?有没有参考性的数据?再次感谢
|
|
返回顶楼 | |
发表时间:2012-07-03
zsxsilence 写道 万分感谢牛人的分享,帮了很大的忙。然后再劳烦牛人帮忙解答一下 openfire和androidpn有啥关系?他们之间的主要区别是啥?还有androidpn能够支持多大的用户量并发?有没有参考性的数据?再次感谢
应该是基于openfire开发的。大量用户,应该不行。 |
|
返回顶楼 | |
发表时间:2012-07-12
shiwenbin770 写道 zsg88 写道 花了一个下午的时间把后台修改成spring + hibernate + struts2 + tomcat能正常地跑起来了,经测试和手机连接正常发消息没有问题。
我现在正在做这个推送的,我是初学者,能把源码发给我研究一下吗? 我的邮箱是874655299@qq.com 不管发不发,先谢拉。兄弟! 兄弟,代码也发我一份。124597202@qq.com |
|
返回顶楼 | |
发表时间:2012-07-13
zsg88 写道 cdztop 写道 2、假如我现在要实现的效果是这样的:一个用户只需要一个帐号(username,password),只有一台PushServer服务器,但是有很多需要push功能的Android应用,然后push的条件的username+对应的客户端应用。
我的想法是:xmpp里面有<node@domain/home>和<node@domain/work>,我想domain就是PushServer,home和work就是Android客户端的应用名,node就是帐号的username。我也试着测试了一下。但是有一个问题。 在session里面的列表是正常的,就是有两个名为username的session,但是users列表的对应user都是离线的,服务器广播出来的信息都收不到。 我想是SessionManager里面的public ClientSession getSession(String username)这个方法的问题。 它原来是: private static final String RESOURCE_NAME = "AndroidpnClient"; public ClientSession getSession(String username) { return getSession(new JID(username, serverName, RESOURCE_NAME, true)); } 这个RESOURCE_NAME就是我上面说的home和work的意思。 不知道你有没有明白我的意思。 总之就是一个username怎么才能有2个RESOURCE_NAME。而且能根据RESOURCE_NAME和username唯一确定一个ClientSession。 我的ssh版本, 在同一手机上运行2个客户端RESOURCE_NAME分别为AndroidpnClient和AndroidpnClient2 session.do页面显示2个在线,user.do页面显示一个在线。 打开UserController类,可以看到判断user是否在线的方法是presenceManager.isAvailable(user) 最终调用的是SessionManager public ClientSession getSession(String username) { // return getSession(new JID(username, serverName, null, true)); return getSession(new JID(username, serverName, RESOURCE_NAME, true)); } 注意:new JID(username, serverName, RESOURCE_NAME, true) 只指定了一个RESOURCE_NAME,表示只查找名称为RESOURCE_NAME所代表的应用用户,所以另外一个应用的用户就查找不到了。 把当前这行注释掉 把被注释的上一行打开,return getSession(new JID(username, serverName, null, true)) 这里RESOURCE_NAME被设定为null,不指定具体应用名称 修改 public ClientSession getSession(JID from){ ...... //if (from.getResource() == null || from.getNode() == null) { // return null; //} if (from.getResource() == null) { if (from.getNode() != null) { for (ClientSession session : clientSessions.values()) { if (session.getAddress().getNode().equals(from.getNode())) { return session; } } } else { return null; } } return clientSessions.get(from.toString()); } 重起运行,见图,附件 图太大了,点开看 第一张是 session列表 第二张是 user列表 大虾 SSH整合的代码是否能发我一份,灰常感谢!446330342@qq.com |
|
返回顶楼 | |
发表时间:2012-07-26
请问XmppServer.java中的locateServer()方法中的String baseDir = System.getProperty("base.dir", ".."); 这是取什么
|
|
返回顶楼 | |
发表时间:2012-08-02
那个下载地址下载不了,可以把源码直接发给我吗
|
|
返回顶楼 | |
发表时间:2012-08-09
张子游 写道 zsg88 写道 花了一个下午的时间把后台修改成spring + hibernate + struts2 + tomcat能正常地跑起来了,经测试和手机连接正常发消息没有问题。 求开源,哈哈
我现在需要在现在软件的基础上加上一个推送的功能,但是不知道怎么跟androidpn建立连接,怎么让androidpn把这个消息接收到然后帮我推送出去,麻烦指点一下,顺便求源码395767444@qq.com |
|
返回顶楼 | |
发表时间:2012-08-09
zsg88 写道 花了一个下午的时间把后台修改成spring + hibernate + struts2 + tomcat能正常地跑起来了,经测试和手机连接正常发消息没有问题。
麻烦发下SSH的版本 395767444@qq.com |
|
返回顶楼 | |