Android smack+ejabberd+spack 实现即时通讯(二)客户端连接

  这个是写客户端连接服务端的内容  我们这里使用的封装好的jar包 samck来完成xmpp即时通讯

 

 //如有不了解xmpp请看 http://blog.csdn.net/lnb333666/article/details/7471292 这是前辈做的分析 讲的很清晰


 //如不了解smack清看 http://wangqinghua123.iteye.com/blog/1341355 这里讲解了框架的具体情况    github下载地址


  以上看了很多帖子都基本讲的一样所以那么我们就开始连接服务器吧

1.连接服务器

<pre name="code" class="html">/** 
 * 连接服务器 
 *  
 * @return 
 */  
public boolean conServer() {  
    ConnectionConfiguration config = new ConnectionConfiguration(  
            127.0.0.1, 5222);  //第一个是连接域名 , 第二个是端口号 记住不是web端的端口号默认就填写5222即可
   /** 是否启用安全验证 */  
    config.setSASLAuthenticationEnabled(false);  
    /** 是否启用调试 */  
    // config.setDebuggerEnabled(true);  
    /** 创建connection链接 */  
    try {  
        connection = new XMPPConnection(config);  
        /** 建立连接 */  
        connection.connect();  
        return true;  
    } catch (XMPPException e) {  
        e.printStackTrace();  
    }  
    return false;  
}  


 

2.

* 登录 
 *  
 * @param a 登录帐号 
 * @param p 登录密码 
 * @return 
 */  
public boolean login(String a, String p) {  
    try {  
        if (connection == null)  
            return false;  
        /** 登录 */             
        connection.login(a, p);  
        return true;  
    } catch (Exception e) {  
        e.printStackTrace();  
    }  
    return false;  
}  

3.实现单聊

public boolean sendMessage(String messsage, String from, String to) {  
        XMPPConnection connection = XmppConnectionPools.getConnFromPools(Long.parseLong(from));  
        ChatManager chatManager = connection.getChatManager();  
        Message messages = new Message();          
        messages.setBody(messsage);  
        messages.setFrom(ConfigUtils.opUserName+(int)(Long.parseLong(from)%Integer.parseInt(ConfigUtils.connMax))+"@"+ConfigUtils.domin);  
        messages.setTo(to+"@"+ConfigUtils.domin);  
        Chat chat = chatManager.createChat(to+"@"+ConfigUtils.domin, new MessageListener() {  
            public void processMessage(Chat chat, Message message) {  
            System.err.println("Received Message : " + message.getBody());  
            }  
        });  
        try {  
            chat.sendMessage(messages);  
        } catch (XMPPException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
            return false;  
        }  
        return true;  
    } 

以上便是聊天界面了 想要demo源码的 请下载前辈写的:进去就知道谁写的了 下载源码


所需工具下载地址 Android IM开发 Ejabberd+asmck+spack


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值