XMPP客户端库Smack 4.0.6版开发之四

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41620825 XMPP客户端库Smack 4.0.6版开发之四作者:chszs,转载需注明。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41620825

XMPP客户端库Smack 4.0.6版开发之四

作者:chszs,转载需注明。博客主页: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()方法,它会尝试建立一个新连接。如果手动尝试也失败了,那么重连管理器会继续重连的工作。


目录
相关文章
|
4月前
|
JavaScript 前端开发 网络协议
从理论到实践:全面剖析Python Web应用中的WebSocket实时通信机制
【7月更文挑战第17天】WebSocket在实时Web应用中扮演重要角色,提供全双工通信,减少延迟。本文详述了Python中使用`websockets`库创建服务器的步骤,展示了一个简单的echo服务器示例,监听8765端口,接收并回显客户端消息。客户端通过JavaScript与服务器交互,实现双向通信。了解WebSocket的握手、传输和关闭阶段,有助于开发者有效利用WebSocket提升应用性能。随着实时需求增长,掌握WebSocket技术至关重要。
289 6
|
测试技术 API
【.NET6】gRPC服务端和客户端开发案例,以及minimal API服务、gRPC服务和传统webapi服务的访问效率大对决
前言:随着.Net6的发布,Minimal API成了当下受人追捧的角儿。而这之前,程序之间通信效率的王者也许可以算得上是gRPC了。那么以下咱们先通过开发一个gRPC服务的教程,然后顺势而为,再接着比拼一下minimal api服务和gRPC服务在通信上的效率。
449 0
【.NET6】gRPC服务端和客户端开发案例,以及minimal API服务、gRPC服务和传统webapi服务的访问效率大对决
|
网络架构
SoapUI SoapUI测试WebService协议接口简介
SoapUI SoapUI测试WebService协议接口简介
120 0
|
iOS开发 数据格式 XML
XMPP客户端库Smack
原文博客地址:http://blog.csdn.net/chszs/article/details/41576877
852 0
|
数据安全/隐私保护 iOS开发 分布式计算
XMPP客户端库Smack 4.0.6版开发之五
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41620843 XMPP客户端库Smack 4.0.6版开发之五 作者:chszs,转载需注明。
685 0
XMPP客户端库Smack 4.0.6版开发之六
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41620853 XMPP客户端库Smack 4.0.6版开发之六 作者:chszs,转载需注明。
778 0
|
数据安全/隐私保护 安全 开发者
XMPP客户端库Smack 4.0.6版开发之三
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41594855 XMPP客户端库Smack 4.0.6版开发之三 作者:chszs,转载需注明。
746 0
|
Java API Apache
XMPP客户端库Smack 4.0.6版开发之二
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41576877 XMPP客户端库Smack 4.0.6版开发之二 作者:chszs,转载需注明。
756 0