XMPP客户端库Smack 4.1.4版官方开发文档之三
2015-10-25 22:46
316 查看
本文转载自:博客主页:http://blog.csdn.net/chszs
一个是XMPPTCPConnection(StringserverName)方法,参数为服务器名。连接会使用所有默认的设置,有:
1)执行DNSSRV查询,找到服务器确切的地址和端口(通常是5222)。
2)与服务器协商最大数安全,包括TLS加密。但如果有必要,连接会回落到较低的安全设置。
3)XMPP资源名“Smack”会被用于连接。
第二个是XMPPTCPConnection(ConnectionConfigurationcc)构造器,它会指定高级的连接设置。其中包括:
1)手动指定服务器地址和端口,而不是通过DNSSRV查询。
2)能开启连接压缩。
3)指定自定义的连接资源名(如Work或Home)。用户到服务器的每一个连接都必须有唯一的资源名。比如对于用户"jsmith@example.com",完整的带资源的地址应该是"jsmith@example.com/Smack"。通过携带唯一的资源名,用户可以同时从不同的位置登录到同一个服务器,这适用于多设备的情况。
每一个资源使用的在线优先级值:用于决定由哪一个带资源的指定连接来接收到裸地址"jsmith@example.com"的消息。
ConnectionConfigurationconfig = new ConnectionConfiguration(“jabber.org”, 5222);
AbstractXMPPConnectionconn = new XMPPTCPConnection(config);
//连接到服务器
conn.connect();
//登录到服务器
conn.login(“username”,“password”,“SomeResource”);
…
//关闭连接
conn.disconnect();
默认情况下,一旦连接断开,Smack会尝试重建连接。
使用ConnectionConfiguration类的setReconnectionAllowed(Boolean)方法可以开启或关闭重连的功能。
重连管理器会立即尝试重连到服务器,并且会增加延时设置,以便提高重连的成功率。
在重连管理器正在等待下一次重连的期间,如果你想强制重连,可以使用AbstractXMPPConnection类的connect()方法,它会尝试建立一个新连接。如果手动尝试也失败了,那么重连管理器会继续重连的工作。
三、XMPPConnection管理
1、创建连接
org.jivesoftware.smack.XMPPConnection类可管理到XMPP服务器的连接,它默认的连接实现类是org.jivesoftware.smack.XMPPTCPConnection。它主要使用两个构造方法,一个是XMPPTCPConnection(StringserverName)方法,参数为服务器名。连接会使用所有默认的设置,有:
1)执行DNSSRV查询,找到服务器确切的地址和端口(通常是5222)。
2)与服务器协商最大数安全,包括TLS加密。但如果有必要,连接会回落到较低的安全设置。
3)XMPP资源名“Smack”会被用于连接。
第二个是XMPPTCPConnection(ConnectionConfigurationcc)构造器,它会指定高级的连接设置。其中包括:
1)手动指定服务器地址和端口,而不是通过DNSSRV查询。
2)能开启连接压缩。
3)指定自定义的连接资源名(如Work或Home)。用户到服务器的每一个连接都必须有唯一的资源名。比如对于用户"jsmith@example.com",完整的带资源的地址应该是"jsmith@example.com/Smack"。通过携带唯一的资源名,用户可以同时从不同的位置登录到同一个服务器,这适用于多设备的情况。
每一个资源使用的在线优先级值:用于决定由哪一个带资源的指定连接来接收到裸地址"jsmith@example.com"的消息。
2、连接和关闭连接
//为新连接创建配置ConnectionConfigurationconfig = new ConnectionConfiguration(“jabber.org”, 5222);
AbstractXMPPConnectionconn = new XMPPTCPConnection(config);
//连接到服务器
conn.connect();
//登录到服务器
conn.login(“username”,“password”,“SomeResource”);
…
//关闭连接
conn.disconnect();
默认情况下,一旦连接断开,Smack会尝试重建连接。
使用ConnectionConfiguration类的setReconnectionAllowed(Boolean)方法可以开启或关闭重连的功能。
重连管理器会立即尝试重连到服务器,并且会增加延时设置,以便提高重连的成功率。
在重连管理器正在等待下一次重连的期间,如果你想强制重连,可以使用AbstractXMPPConnection类的connect()方法,它会尝试建立一个新连接。如果手动尝试也失败了,那么重连管理器会继续重连的工作。
相关文章推荐
- android上使用opencv遇到的一点问题
- android Push 服务的消息
- jQuery插件 -- Cookie插件jquery.cookie.js(转)
- 九度OJ 1162:I Wanna Go Home(我想回家) (最短路径)
- QGraphicsTextItem中的文字对齐
- Killer Problem(暴力)
- 九度OJ 1162:I Wanna Go Home(我想回家) (最短路径)
- Ubuntu编译linux 1.2.13 内核
- 【首页】
- LuaJava:跟着LuaJava一步一步学习JNI -1
- 日志库EasyLogging++学习系列(2)—— 日志级别
- (转)IOS9中的http请求
- 持续集成(Continuous Integration)
- CountDownLatch和CyclicBarrier介绍
- nyoj22 素数求和
- 背包九讲-01背包问题
- Java第四次上课博文动手动脑
- 20135323符运锦-信息安全系统设计基础第七周学习总结
- 项目采购管理、信息(文档)和配置管理要点梳理
- 往EditText中添加图标的简单方法