挑战一下,开发一个IM,唯一的限制就是必须用qt来开发(我真是醉了)。。。于是乎,just 干
基于XMPP协议的Android即时通信系 这篇博客提供了具体的概念讲解。
一直比较看好xmpp(jabber)协议,能够提供很多的便利,所以服务器采用openfire,再利用官方提供的spark客户端来试试效果。
需要注意点的地方就是
1.openfire服务器的搭建,利用的是内嵌的数据库,因为这个比较简单
2.找到自己电脑的IP地址以后,修改了HOST文件,设置IP对应的域名,这样让自己电脑上面可以用域名登陆,但是在其他同学的电脑上面的话,没有修改hosts的情况下就只有用IP地址来登陆了。
这样一个简单的完全不用自己写代码的开源IM软件就可以这样用起来了。
另外还有一篇不错的文章 基于开源jabber(XMPP)架设内部即时通讯服务的解决方案
开发部分
openfire服务器的源代码以及部署 -> http://my.oschina.net/u/1409622/blog/205603
然后开始就是spark客户端入手 -> spark在github上面的源代码
还有一个入手的点,就是利用本来QT上面开发的基于xmpp协议openfire服务器的开源项目入手 ->基于QT的IM(jabber)库和客户端, 其中提到的 gloox和 vacuum-im ,我有下载源代码,先Mark
spark是利用Java写的一个配合openfire服务器使用的客户端程序,提供了很丰富的插件库
怎样开发插件 ->spark插件开发,
openfire的插件 -> openfire插件开发 IDE : Eclipse,My Eclipse6
两者的异同 -> 点击打开链接
http://www.blogjava.net/yi88han/archive/2009/02/11/254203.html
spark的代码,下手比较困难
只好换一个client了。
vacuum-im 或者Psi
客户端换成Psi,这个对QT的支持是比较好的
有个地方,需要注意的就是,虽然是同一个服务器openfire,用不同的客户端注册的账号,就只能在相应的客户端上面使用,否则还真是没法登陆。
具体的,在win7环境下编译PSI ,具体的步骤可以参考 点击打开
不过在编译qca上面有个障碍,需要谨慎一点。