本文来自http://blog.csdn.net/cymlife 原创,引用必须注明出处!

基于QT的IM(jabber)库和客户端

这段时间一直在研究跨平台的IM(jabber)客户端,经过大量的下载、编译、测试、评估,作此记录。

使用QT作为表现层,源于QT提供了丰富的控件,以及强大的跨平台能力。jabber是一个基于XMPP协议的IM应用,解决了做什么和怎么做的问题。

使用QT来开发的jabber xmpp库,主要是依据XMPP协议,和jabber服务器进行交互,在IM系统中起到通信协议层的作用。xmpp的客户端,必须要实现XMPP RFC3920(XMPP CORE,最新规范为RFC 6120)和RFC3921(XMPP IM,最新规范为RFC 6121),以及其他辅助的XMPP Extensions协议。

jabber xmpp库
1. gloox
   http://camaya.net/gloox/
   纯C++的跨平台实现,全功能,易于使用。不过自1.0之后就没有更新了。

2. qxmpp
   http://code.google.com/p/qxmpp/
   纯QT实现,易于使用。目前版本是0.3,一直在更新。
   qxmpp实现了很多XMPP Extensions协议,比如文件传输,vcard,avatar等功能。

3. jreen
   http://gitorious.org/jreen
   纯QT实现,易于使用。一直在更新。

4. psi(libiris)
   http://psi-im.org/
   psi从0.14版本之后就没有更新了。
  
5. psi-dev
   http://code.google.com/p/psi-dev/
   一群热心的开发人员继续对psi进行维护和升级,目前版本是0.15。

6. libpurple
   http://pidgin.im/download/
   支持多种IM的协议库,最新版本是2.9.0。

jabber xmpp QT-IM客户端
1. vacuum-im
   http://code.google.com/p/vacuum-im/
   纯QT实现,易于使用。目前版本是1.1,一直在更新。
   vacuum实现了很多XMPP Extensions协议,比如文件传输,vcard,avatar,组聊等功能;采用插件方式,易于扩展。

2. qutecom
   http://trac.qutecom.org/
   qutecom的IM库采用libpurple,集成了sip电话的功能。最新稳定版是2.2.1,开发版是3.0 alpha。
   qutecom使用了大量的开源库,包括:boost,ffmpeg,libosip2等等,编译过程复杂,编译速度极慢。

3. qutim
   http://qutim.org/
   qutim是支持多协议、跨平台(包括mobile)的IM,其中jabber协议使用jreen。系统采用插件功能,易于扩展。

4. kadu
   http://www.kadu.net/w/English:Main_Page
   kadu支持的IM协议包括Gadu-Gadu和jabber(使用libiris),程序结构清晰,界面友好,易于使用。

5. jabbin
   http://sourceforge.net/projects/jabbin/
   jabbin的IM协议使用libiris,使用libjingle库提供语音功能。jabbin的代码还使用了很多QT3的功能,有点老旧,因为QT5都快出来了。

6. kopete
   http://kopete.kde.org/
   kopete是KDE平台支持多协议的IM,其中jabber协议使用libiris。从0.50.80之后就是打打补丁而已。
  
IM客户端功能
   一个完整的IM客户端,功能还是很复杂的,基本包括:
通讯协议层:和IM服务器交互;
用户管理:组织机构(分组,企业通讯录),名片管理(vcard),头像显示(avatar),用户状态,用户查找等;
文字聊天功能:聊天方式包括海聊,组聊,私聊;表情管理;贴图功能;拼写检查;聊天风格;
音视频聊天功能:使用google的webrtc;
聊天历史记录:查询;
文件传输:在线与离线文件传输;
界面风格:吸引用户的首要因素。

基于QT的IM(jabber)库和客户端相关推荐

  1. 基于Qt的上古神器-Qt Cryptographic Architecture (QCA)加密库介绍

    Qt Cryptographic Architecture是一个基于Qt的开源项目,简称QCA.该项目,使用Qt对OpenSSL进行了封装,以便向用户,提供一系列,更简单易用的加解密API. Gith ...

  2. 基于Qt的桌面客户端组件化框架DT 开源啦

    这个是本人在工作中基于QT开发的组件化桌面开发框架,目前打算开源出来提供给大家,节省大家的开发时间和效率,希望对大家的开发有所帮助,也欢迎提出意见和改进建议 1. 为什么开源DT框架 DT框架,本身就 ...

  3. 基于QT的【第一个项目】设计+所有组件配合使用+网络编程局域网通信+文件IO操作+登录界面和头像+多界面跳转+JSON数据解析+表情包制作

    基于QT的第一个项目+所有组件配合使用+网络编程局域网通信+文件IO操作+登录界面和头像+多界面跳转+JSON数据解析+表情包制作 第一阶段 网络编程局域网TCP/IP聊天QT实现 main.c ma ...

  4. 基于QT的多线程视频监控的实现(一)

    <基于QT的多线程视频监控的实现(一)> <基于QT的多线程视频监控的实现(二)> <基于QT的多线程视频监控的实现(三)> 本系统是采用的Windows的开发环境 ...

  5. 基于Qt的在线答题系统

    实现功能 : 用户的注册及登录 ,个人答题训练 ,排位赛(网络对战) ,排位赛时发送表情.排位系统.积分榜. 项目描述 : 采用 C/S 结构基于 TCP/IP 协议 ,运用 Libevent 库进行 ...

  6. 基于Qt框架实现的 C/S架构的外卖平台软件系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85628215 基于Qt框架实现的 C_S架构的外卖平台软件系统 演示视频 C/S 架构的外 ...

  7. 野牛NBIOT 环境监测项目---基于QT 5.9 接入华为OceanConnect云平台(六)

    NBIOT-北向开发之PC桌面 基于QT 5.9 北向接入华为OceanConnect云平台 该软件与上一章节提供的的平台profile是对应的,如果profile的关键参数不一致,需要同步修改软件代 ...

  8. QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★)

    QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★) 文章目录 QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★) 本篇副标题: 本篇博客讲了什么or解决了什么问 ...

  9. 基于Qt的组态监控软件实现以及分析(转)

    转自:http://yleesun.blog.163.com/blog/static/2941340220094695359894/ 组态软件部分作为自动化网络平台客户端的实现部分,仅仅是其中的一小部 ...

  10. C/C++实战——基于Qt框架和visual studio的海康相机SDK二次开发

    最近在进行机器视觉系统的搭建,积累了经验,想和大家讨论.互相学习.相机是图像的来源.为了搭建视觉系统,完成图像分析.机器视觉任务,需要编程控制相机按工作所需的曝光.增益和帧率同步采集和存储图像.工业相 ...

最新文章

  1. Hyper-V 2016 系列教程26 Hyper-v平台并口外设解决方案介绍
  2. 磁盘显示RAW要如何办啊
  3. No enclosing instance of type SmsUtils is accessible. Must qualify the allocation with an enclosing
  4. 我们如何实现“业务 100% 云原生化,让阿里中间件全面升级到公共云架构”?
  5. 音乐播放器的设计与实现
  6. java c s 比 c c s_Java技术学习笔记:C/S 与B/S 区别
  7. 设计模式(十七):享元模式
  8. houdini 做选点效果
  9. ios图文详情加载html_IOS WKWebView加载本地H5以及css,js等样式
  10. thinkpad Fn键设置
  11. 软件测试流程图Bug管理流程图
  12. php的ct表现,巨大垂体腺瘤(Pituitary adenoma)CT病例图片影像诊断分析
  13. C语言中,求三个数中最大数
  14. python给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字
  15. 视图的创建(第十次作业)
  16. 黑苹果适合什么用途?_特定用途有特别要求,不是什么硬盘都适合NAS系统
  17. 分库分表ShardingSphere<四> _ 读写分离
  18. RELY constraints
  19. 关于“Could not open ServletContext resource [/WEB-INF/applicationContext.xml]”解决方案
  20. 【正版软件】Windows 11/10 专业工作站版操作系统软件 终身使用,支持迁移。

热门文章

  1. 自定义炫酷效果ViewPage指示器
  2. “Matter时代”行业再显梯队化,多强竞逐第一序列
  3. 钉钉群机器人关键词自动回复_自动化运维平台Spug测试
  4. 解决代理服务器端口被占用
  5. 计算机病毒鼻祖拟推新型搜索技术挑战谷歌,美科学家将推新型搜索引擎挑战谷歌...
  6. 中医测试体质的软件,中医体质辨识软件五大功能
  7. 双本振双输出后接八切一影响其它端口信号
  8. poj4474 Scout YYF I(概率dp+矩阵快速幂)
  9. (四)Loadrunner 代理录制
  10. C语言实现控制台窗口隐藏