asmack自身已经包括了断网重连的方案,客户端不需要自己再做重连方案,但是需要几个设置,如下所示:
- configuration.setReconnectionAllowed(true); // 允许重连
- configuration.setSendPresence(true);// 允许默认发送出息状态
- // 在连接单例中初始化重连管理类
- static{
- try{
- Class.forName("org.jivesoftware.smack.ReconnectionManager");
- }catch(Exception e){
- e.printStackTrace();
- }
- }
设计建议:网络连接类connection最好以单例形式存在