public static XMPPTCPConnection getConnection() { if (connection != null) { return connection; } XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder(); builder.setServiceName("bbxiaoqu"); builder.setHost(DemoApplication.getInstance().xmpphost); builder.setPort(DemoApplication.getInstance().xmppport); builder.setCompressionEnabled(false); builder.setDebuggerEnabled(false); builder.setSendPresence(true); builder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); connection = new XMPPTCPConnection(builder.build()); connectionListener = new ViConnectionListener(mContext); connection.addConnectionListener(connectionListener); cm = ChatManager.getInstanceFor(connection); chatlistener = ChatListener.getInstance(mContext); cm.addChatListener(chatlistener); return connection; }
public boolean openConnection() { new AndroidSmackInitializer().initialize(); try { if (null == connection || !connection.isAuthenticated()) { // XMPPConnection.DEBUG_ENABLED = true;// ����DEBUGģʽ // �������� XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder(); builder.setHost(SERVER_HOST); builder.setServiceName(SERVER_NAME); builder.setPort(SERVER_PORT); builder.setSendPresence(true); builder.setCompressionEnabled(false); builder.setSecurityMode(SecurityMode.disabled); XMPPTCPConnectionConfiguration config = builder.build(); connection = new XMPPTCPConnection(config); try { connection.connect(); } catch (SmackException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // ���ӵ������� // ���ø���Provider��������ã������������� configureConnection(new ProviderManager()); return true; } } catch (XMPPException xe) { xe.printStackTrace(); connection = null; } return false; }
public static void main(String[] args) { SmackConfiguration.DEBUG = true; SmackConfiguration.setDefaultPacketReplyTimeout(10 * 1000); XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); configBuilder.setUsernameAndPassword("registeruser2", "123456"); configBuilder.setServiceName("ejabberddemo.com"); configBuilder.setDebuggerEnabled(true).build(); // 必须在用户状态为离线状态 configBuilder.setSendPresence(false); AbstractXMPPConnection connection = new XMPPTCPConnection(configBuilder.build()); try { connection.connect(); } catch (SmackException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XMPPException e) { e.printStackTrace(); } // FIXME OfflineMessageManager offlineManager = new OfflineMessageManager(connection); try { connection.login(); } catch (XMPPException e) { e.printStackTrace(); } catch (SmackException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { System.out.println(offlineManager.supportsFlexibleRetrieval()); System.out.println(offlineManager.getMessageCount()); } catch (SmackException.NoResponseException e) { e.printStackTrace(); } catch (XMPPException.XMPPErrorException e) { e.printStackTrace(); } catch (SmackException.NotConnectedException e) { e.printStackTrace(); } // 上线 Presence presence = new Presence(Presence.Type.available); try { connection.sendPacket(presence); } catch (SmackException.NotConnectedException e) { e.printStackTrace(); } }