XMPPclient库Smack 4.0.6一个版本的开发
XMPPclient库Smack 4.0.6版开发之中的一个
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs
一、Smack库概述
Smack是一个开源、易用的XMPP/Jabberclient库,它使用Java语言开发,由Jive Software开发。
Smack的长处是编程简单。
Smack的缺点是其API并不是为大量并发用户设计,每一个客户都要1个线程,占用资源相对较,因此用Smack做模拟測试时,1台机器仅仅能模拟有限(数千个)客户。
截止2014年11月27日,Smack库已经发展到4.0.6版。
最新的好消息是Smack在4.1.0版后将直接支持Android系统,而无需再使用曾经的Smack移植版aSmack库了。
Smack库源代码托管于GitHub,主页见: https://github.com/igniterealtime/Smack/
二、Smack 4的改变
Smack库从3.4版发展到4.0.x版后,其API有较大的变化,主要有:
1、把Connection类重命名为XMPPConnection类
XMPPConnection类是XMPPTCPConnection类和XMPPBOSHConnection类的父类。
2、把各种Provider类进行了分包
3、keep-alive(持久连接)机制从smack-core库移到了smack-extensions库
keep-alive机制如今由PingManager类提供。
4、PrivacyList类的toString()方法重命名为getName()
5、当Chat实例的全部引用都撤掉后,应该调用Chat.close()方法
否则Chat对象会有内存泄露的隐患,直到ChatManager对象被垃圾回收器回收后内存泄露隐患才会消失。
6、ServerTrustManager类被移除了
假设要使用带SSL认证的XMPP,你仅仅需提供自己的SSLContext对象给ConnectionConfiguration对象就可以。
7、Packet.setProperty()从smack-core库移到了smack-extensions库
其API如今能够在org.jivesoftware.smackx.jiveproperties包中找到。
8、Connection.getAccountManager()方法如今改成了AccountManager.getInstance(XMPPConnection)方法
9、异常API做了改进
10、ToContains过滤器被移除了
XMPPclient库Smack 4.0.6一个版本的开发的更多相关文章
- MVC通用控件库展示-MVC4.0+WebAPI+EasyUI+Knockout--SNF快速开发平台3.0
在我们开发中怎么才能提高效率,就是要有大量的公共组件(控件)可以直接使用而不用自己再开发一遍,既然是公共控件那也得简单实用才行.下面就介绍一下SNF-MVC当中的控件库. 总体控件库展示: 1.通用用 ...
- java web(一) 使用sql标签库+tomcat+mysql手动创建一个jsp练习总结
2016-09-0111:06:53 使用sql标签库+tomcat+mysql手动创建一个jsp 1. 1.1安装tomcat ...
- OpenGL2.0及以上版本中glm,glut,glew,glfw,mesa等部件的关系
OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系 一.OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux).实用工具库 ...
- PEACHPIE 0.9.11 版本发布,可以上生产了
PeachPie在官方博客(https://www.peachpie.io/2018/10/release-0911-visual-studio.html)发布了PeachPie的0.9.11版本 - ...
- 【Qt官方MQTT库的使用,附一个MqttClient例子】
Qt官方MQTT库的使用,附一个MqttClient例子 开发环境:win7 64 + Qt5.9 记录时间:2018年3月11日 00:48:42 联系邮箱: yexiaopeng1992@126. ...
- C#的Installer生成的msi的安装文件,安装新版本时提示:已经安装了该产品的另一个版本。无法继续安装此版本
之前折腾了个C#的项目: WLW (Windows Live Writer) Plugin–InsertSkydriveFiles 然后又弄了个对应的Installer: [已解决]给一个C#的Dll ...
- 开源低代码平台开发实践二:从 0 构建一个基于 ER 图的低代码后端
前后端分离了! 第一次知道这个事情的时候,内心是困惑的. 前端都出去搞 SPA,SEO 们同意吗? 后来,SSR 来了. 他说:"SEO 们同意了!" 任何人的反对,都没用了,时代 ...
- zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板
前言 Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下. 版本编译引导 zlib在windows上的mingw32 ...
- SmartIDE v1.0.23 一个非常不敏捷的发布
SmartIDE v1.0版本(CLI Build v1.0.23.4650,Server Build v1.0.23.4646)已经发布,在超过4000 个 Builds 之后,我们终于发布了v1. ...
随机推荐
- Android学习笔记:FrameLayout布局基础
FrameLayout布局的特点是:所有放在布局里的视图组件,都按照层次堆叠在屏幕的左上角,后面的视图组件覆盖前面的. 当然,组件本身是可以控制自己的内部布局的. 一种常见的场景是可以在FrameLa ...
- 【CSDN博客之星评选】我为什么坚持写博客
今天无意中在CSDN的博客之星评选活动看到自己竟然是候选人之一,真的是十分的惊讶也十分的高兴.对于喜欢写东西.喜欢分享的我来说,已经忍不住用文字来记录一下今天的美好心情,同时也让我回想起我是如何开始在 ...
- EXT.NET高效开发(三)——使用Chrome浏览器的开发人员工具
这篇帖子老少皆宜,不分男女,不分种族,不分职业.俗话说:“磨刀不误砍柴工”.掌握一些开发工具的使用,对自己帮助是很大的(无论是用于分析问题,还是提高生产力).本篇就讲述如何利用Chrome浏览器(这里 ...
- 手机访问php环境移动端静态页面
痛点 在做一个移动端H5页面,手机要调试访问,不方便.就想说能不能手机连接电脑的php项目,进行调试修改. 需要 手机要跟电脑同处在同个局域网中,公司的话一般是局域网,实在没有的话花个20块买个随身W ...
- 2个NASM开发环境下载以及30篇教程(lostspeed)
http://download.csdn.net/detail/lostspeed/8958175http://download.csdn.net/detail/lostspeed/8954263 h ...
- 通过jQuery的attr修改onclick
var js = "alert('B:' + this.id); return false;"; // creates a function from the "js&q ...
- JVM调优总结(七)-典型配置举例1
以下配置主要针对分代垃圾回收算法而言. 堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理 ...
- uoj Goodbye Jiawu
这次比赛真是太伤我心了. 比(惨)赛(不)结(忍)果(睹) 完挂感言 uoj round 5已经挂了一次了,没想到还要再挂第二次. 这次比赛的期望得分是\(100+100+100+70+10\)的.没 ...
- Hadoop SequenceFile
SequenceFile格式: 每一个SequenceFile都包含一个“头”(header).Header包含了以下几部分. 1.SEQ三个字母的byte数组 2.Version number的by ...
- 一个Sqrt谋杀触发功能
我们平时常常会有一些数据运算的操作,须要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是怎样实现的?就拿最常常使用的sqrt函数来说吧.系统怎么来实现这个常常调用的函数呢? ...