MyException - 我的异常网
当前位置:我的异常网» 开发过程 » tigase开发过程记要

tigase开发过程记要

www.MyException.Cn  网友分享于:2015-08-26  浏览:11次
tigase开发过程记录

  经历了将近两个星期的tigase开发,我的完成情况还是一头雾水。

  无奈tigase用的人很少,而且可参考资料很少,有问题百度,google基本帮不到什么。只能自己一边看源码一边单步调试。

  说在前头:博文不权威,坑爹不负责,废话不多说,要坑一起坑。

  公司项目要求是,android和ios的线上交流,以及服务端对android还有ios的推送功能。因此选择tigase。

  首先安装tigase,我选择先装在本地,跑通之后再发布到linux上面。官网http://www.tigase.org/ 坑爹的是tigase server下载不在download中。后来找到在这边https://projects.tigase.org/projects/tigase-server/files。

  我选择最简单的gui安装(原因直观),这里提一下,选择*.jar文件,在cmd底下用java -jar命令进行执行,然后就可以到安装页面,各种下一步。

  选择我数据库是mysql,安装的时候简单配置一下就行了,安装过程这个在度娘上面搜索了一下,还是有的。

  然后tigse会在mysql下创建几张表。


  通过Run.bat脚本文件,启动发现报了好多错。

  因此选择将源码导入到eclipse中,进行调试。

  

  debug的之前别忘了看一下脚本文件是怎么写的,别忘了启动参数。

  启动之后,又是报错,由于第一次搞源码,没什么经验。因此果断放弃5.2.0。使用5.1.5,进行调试。

  同样的步骤,和上面一样,只不过mysql创建的表少了好多。完美跑通,没有任何问题。

  开始xmpp客户端开发(这时候的目的是让ios程序以及android程序可以进行通信)

  客户端问题不多,不过有一些诡异的地方提一下。

1.连接服务器,服务名称是区分大小写的(配置文件中是大写,不过调试的时候,发现需要输入小写)。

2.连接名称不需要全名,也就是tigase字段中的jid字段,比如你的名字叫lalal@dong,在xmpp登陆的方法中,用户名输入lalal就可以了。

3.android开发需要额外的jar包,貌似叫asmack(java我是用smack的jar包完成开发的)

  android问题不多,搞定,ios那边随便找了一篇文章。搞ios的一会儿也跑通,ios和android可以通话。搞定。

  接下来是推送问题,问题关键处在了这里,我们不可能通过smack单点for循环所有的用户,进行发送,当然这样也可以发,不过,效果不好。

  定的思路是这样的,用pub/sub,运用发布订阅功能。当用户注册我们产品的时候,给他在tigase中创建一个账号,然后,默认他订阅admin的节点。

  tigase的pub/sub功能是类似于插件形式进行调用的。

  

  链接 :https://projects.tigase.org/projects/tigase-pubsub/wiki/Ad-hoc_commands

  简单的意思就是说把这么目录下的脚本复制到pubsub中就可以了,这时候源码需要一些额外的jar包 groovy的jar包(tigase是用groovy脚本的) 还有pub/sub的包 https://projects.tigase.org/projects/tigase-pubsub/files

  加载的时候就会报错


  我看了一下脚本的源码,是调用一个静态的内部类,初步感觉是外部类不可以这么调用,后来自己写了一个例子还是可以调用的。

  随后我就怀疑代码的不匹配。果然,我下载的pub/sub的jar包,有问题。上官网一看,有好多的源码版本啊。随后我想,既然你jar包有问题,依然是老办法解决,下载其他的源码,然后运行,可是坑爹的是,突然发现下载的源码与5.1.5不匹配。

  中午休息一下,下午开始搞5.2.0。

  PS:提一下,我不知道是我用git方法不对,还是tigase的官网有问题,我从tigase官网通过url下来的是几个没用的文件。

  最后,喜欢讨论的技术的宅男可以加一下我的微博,并留言,大家一起讨论,要坑一起坑。 http://www.weibo.com/u/2170459490/home。

  

文章评论

我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员必看的十大电影
程序员必看的十大电影
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
 程序员的样子
程序员的样子
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
10个调试和排错的小建议
10个调试和排错的小建议
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
老程序员的下场
老程序员的下场
鲜为人知的编程真相
鲜为人知的编程真相
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
我是如何打败拖延症的
我是如何打败拖延症的
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员应该关注的一些事儿
程序员应该关注的一些事儿
旅行,写作,编程
旅行,写作,编程
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
每天工作4小时的程序员
每天工作4小时的程序员
编程语言是女人
编程语言是女人
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
中美印日四国程序员比较
中美印日四国程序员比较
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
程序员都该阅读的书
程序员都该阅读的书
Java程序员必看电影
Java程序员必看电影
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员和编码员之间的区别
程序员和编码员之间的区别
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
代码女神横空出世
代码女神横空出世
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
那些争议最大的编程观点
那些争议最大的编程观点
漫画:程序员的工作
漫画:程序员的工作
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
如何成为一名黑客
如何成为一名黑客
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有