smack操作openfire的API介绍(2)

  1. public class IMServer {   
  2.   
  3.     private ConnectionConfiguration connectionConfig;   
  4.     private XMPPConnection connection;   
  5.     private Roster roster;   
  6.     private boolean loginState;   
  7.     private Listener listener;   
  8.     /**  
  9.      * 构造 IMServer(serviceName)  
  10.      */  
  11.     public IMServer(String serviceName) {   
  12.         connectionConfig = new ConnectionConfiguration(serviceName);   
  13.         connection = new XMPPConnection(connectionConfig);   
  14.         listener=new Listener();   
  15.         try {   
  16.             connection.connect();   
  17.         } catch (XMPPException e) {   
  18.             e.printStackTrace();   
  19.         }   
  20.     }   
  21.   
  22.     /**  
  23.      * 构造 IMServer(host,port)  
  24.      */  
  25.     public IMServer(String host, String port) {   
  26.   
  27.         connectionConfig = new ConnectionConfiguration(host, Integer   
  28.                 .parseInt(port));   
  29.         connection = new XMPPConnection(connectionConfig);   
  30.         listener=new Listener();   
  31.         try {   
  32.             connection.connect();   
  33.         } catch (XMPPException e) {   
  34.             e.printStackTrace();   
  35.         }   
  36.     }   
  37.   
  38.     /**  
  39.      * 构造 IMServer(host port serviceName)  
  40.      */  
  41.     public IMServer(String host, int port, String serviceName) {   
  42.         connectionConfig = new ConnectionConfiguration(host, port, serviceName);   
  43.         connection = new XMPPConnection(connectionConfig);   
  44.         listener=new Listener();   
  45.            
  46.         try {   
  47.             connection.connect();   
  48.                
  49.         } catch (XMPPException e) {   
  50.             e.printStackTrace();   
  51.         }   
  52.     }   
  53.   
  54.     /**  
  55.      * 账户登陆 Server  
  56.      *   
  57.      * @return boolean  
  58.      */  
  59.     public boolean loginServer(String userName, String userPswd) {   
  60.         try {   
  61.             connection.login(userName, userPswd);   
  62.             loginState = true;   
  63.             roster = connection.getRoster();   
  64.                
  65.             listener.regConnectionListener(connection);   
  66.             listener.regPackListener(connection);   
  67.             listener.onlineServer(connection);   
  68.             listener.regRosterListener(roster);   
  69.         } catch (XMPPException e) {   
  70.             e.printStackTrace();   
  71.         }   
  72.         return loginState;   
  73.     }   
  74.        
  75.        
  76.   
  77.     /**  
  78.      * 注册新账号  
  79.      *   
  80.      * @return boolean  
  81.      */  
  82.     public boolean createAccount(String regUserName, String regUserPswd) {   
  83.         try {   
  84.             connection.getAccountManager().createAccount(regUserName,   
  85.                     regUserPswd);   
  86.             return true;   
  87.         } catch (XMPPException e) {   
  88.             e.printStackTrace();   
  89.             return false;   
  90.         }   
  91.   
  92.     }   
  93.   
  94.     /**  
  95.      * 账户退出 Server  
  96.      *   
  97.      * @return boolean  
  98.      */  
  99.     public boolean logoutServer() {   
  100.         if (loginState) {   
  101.             connection.disconnect();   
  102.             listener.stopOnlineThread();   
  103.             loginState = false;   
  104.         }   
  105.         return !loginState;   
  106.     }   
  107.   
  108.     /**  
  109.      * 返回所有用户信息 <RosterEntry>  
  110.      *   
  111.      * @return List(RosterEntry)  
  112.      */  
  113.     public List<RosterEntry> getOnlineEntries() {   
  114.         List<RosterEntry> EntriesList = new ArrayList<RosterEntry>();   
  115.         Collection<RosterEntry> rosterEntry = roster.getEntries();   
  116.         Iterator<RosterEntry> i = rosterEntry.iterator();   
  117.         while (i.hasNext()){   
  118.            
  119.             EntriesList.add(i.next());   
  120.         }   
  121.         return EntriesList;   
  122.     }   
  123.     /**  
  124.      * 返回所有用户信息 <RosterEntry>  
  125.      *   
  126.      * @return List(RosterEntry)  
  127.      */  
  128.     public List<RosterEntry> getAllEntries() {   
  129.         List<RosterEntry> EntriesList = new ArrayList<RosterEntry>();   
  130.         Collection<RosterEntry> rosterEntry = roster.getEntries();   
  131.         Iterator<RosterEntry> i = rosterEntry.iterator();   
  132.         while (i.hasNext())   
  133.             EntriesList.add(i.next());   
  134.         return EntriesList;   
  135.     }   
  136.   
  137.     /**  
  138.      * 返回相应(groupName)组里的所有用户<RosterEntry>  
  139.      *   
  140.      * @return List(RosterEntry)  
  141.      */  
  142.     public List<RosterEntry> getEntriesByGroup(String groupName) {   
  143.         List<RosterEntry> EntriesList = new ArrayList<RosterEntry>();   
  144.         RosterGroup rosterGroup = roster.getGroup(groupName);   
  145.         Collection<RosterEntry> rosterEntry = rosterGroup.getEntries();   
  146.         Iterator<RosterEntry> i = rosterEntry.iterator();   
  147.         while (i.hasNext())   
  148.             EntriesList.add(i.next());   
  149.         return EntriesList;   
  150.     }   
  151.   
  152.     /**  
  153.      * 返回所有组信息 <RosterGroup>  
  154.      *   
  155.      * @return List(RosterGroup)  
  156.      */  
  157.     public List<RosterGroup> getGroups() {   
  158.         List<RosterGroup> groupsList = new ArrayList<RosterGroup>();   
  159.         Collection<RosterGroup> rosterGroup = roster.getGroups();   
  160.         Iterator<RosterGroup> i = rosterGroup.iterator();   
  161.         while (i.hasNext())   
  162.             groupsList.add(i.next());   
  163.         return groupsList;   
  164.     }   
  165.   
  166.     /**  
  167.      * @return connection  
  168.      */  
  169.     public XMPPConnection getConnection() {   
  170.         return connection;   
  171.     }   
  172.   
  173.     /**  
  174.      * @return loginState  
  175.      */  
  176.     public boolean getLoginState() {   
  177.         return loginState;   
  178.     }   
  179.   
  180.     /**  
  181.      * @return roster  
  182.      */  
  183.     public Roster getRoster() {   
  184.         return roster;   
  185.     }   
  186. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值