XMPP客户端库Smack 4.1.4版官方开发文档之三

2023-11-04

本文转载自:博客主页:http://blog.csdn.net/chszs

三、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()方法,它会尝试建立一个新连接。如果手动尝试也失败了,那么重连管理器会继续重连的工作。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XMPP客户端库Smack 4.1.4版官方开发文档之三 的相关文章

  • python算法:冒泡排序

    def Bubbl r for i in range len r 保证每一个数字都要找到对应位置 遍历列表的长度 从0开始找到最小值放在第一位 exchange False for j in range i len r 1 从i开始的位置遍
  • TCP网络通信

    TCP与UDP都属于TCP IP协议 TCP Transmission Control Protocol 传输控制协议 是面向连接的协议 也就是说 在收发数据前 必须和对方建立可靠的连接 一个TCP连接必须要经过三次 对话 才能建立起来 其
  • python坐标轴间隔_使用Python玩转高等数学(5):三角函数

    从三角函数开始 我们使用matplotlib绘制函数图像 matplotlib是图形绘制库 使用matplotlib可以方便的绘制函数图形 以及直方图 条形图 散点图等统计图形 matplotlib的绘图命令和matlab的绘图命令基本相似
  • PHP通过OpenSSL生成证书、密钥并且加密解密数据

    转自 http www open open com code view 1421032678562 generate php
  • Interlaken协议简介

    英文原文 Interlaken Protocol Definition A Joint Specification of Cortina Systems and Cisco Systems 1 简介 网络应用中两种主流的芯片到芯片的高速网络
  • 三数之和——双指针法的实践

    一 方法介绍 双指针法有时也叫快慢指针 在数组里是用两个整型值代表下标 在链表里是两个指针 一般能实现O n 的时间解决问题 两个指针的位置一般在第一个元素和第二个元素或者第一个元素和最后一个元素 快指针在前 探路 当符合某种条件时慢指针向
  • llvm编译linux内核,linux手动编译llvm/clang

    centos 7 安装前置依赖 sudo yum install git python devel libffi devel graphviz devel elfutils libelf devel readline devel libed

随机推荐