Smack文档三:Smack: 连接管理

创建一个连接

 org.jivesoftware.smack.Connection用于类管理到XMPP服务器的连接。默认的实现类是 org.jivesoftware.smack.XMPPConnection 。主要用两种构造函数。第一种是XMPPConnection(String) 使用你要连接的服务器名作为参数。将使用所有的默认连接设置:

  • 将执行的DNS SRV查找,找到服务器端确切的地址和端口(通常是5222)。
  • 与服务器协商最大的安全可能性可能,包括TLS加密,但是,如果需要,连接将降低到较低的安全设置。
  • 将为连接使用XMPP资源名称“Smack”作为名称。

另外,你可以使用 XMPPServer(ConnectionConfiguration)构造函数来指定高级连接设置。其中的一些设置包括:

  • 手动指定服务器地址和端口,而不是使用一个DNS SRV查找。
  • 使用压缩连接。
  • 自定义安全设置,例如为需要TLS加密的连接做标记。
  • 自定义连接源名称,例如 "Work" 、"Home"。每个连接必须有一个唯一的连接源名称。例如对于用户"jsmith@example.com",加名称的完整源地址可能是 "jsmith@example.com/Smack".使用独特的资源名称,用户可以一次从多个位置或使用多个设备登录到服务器。每个连接源的优先级值将决定哪个特别的连接接收裸露地址的信息。(例子中的"jsmith@example.com" ).


连接断开

// Create the configuration for this new connection
ConnectionConfiguration config = new ConnectionConfiguration("jabber.org", 5222);
config.setCompressionEnabled(true);
config.setSASLAuthenticationEnabled(true);

Connection connection = new XMPPConnection(config);
// Connect to the server
connection.connect();
// Log into the server
connection.login("username", "password", "SomeResource");
....
// Disconnect from the server
connection.disconnect();

默认情况下,如果突然断开,Smack将尝试重新连接。可使用ConnectionConfiguration#setReconnectionAllowed(boolean)开始或者关闭此功能。重连管理器将尝试立刻重新连接,并增加连续连接失败后重新连接的延迟时间。

在重连管理器正在等待下一次重新连接时,如果你向强行重新连接,可以使用 Connection#connect()  进行一次新的尝试。如果手动尝试失败了,重连管理器将继续执行重连任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值