美文网首页
Xmpp第一篇

Xmpp第一篇

作者: Cheep | 来源:发表于2018-09-21 08:52 被阅读0次

简述

    公司最近做一个IM聊天软件,不要问我为什么用这么古老的东西,撒碧领导、撒碧领导、撒碧领导,重要的事情说三遍!

    Xmpp是一种基于标准通用标记言语的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的扩展性。
经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。
而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一配好系统添加功能。

资源文件

  • smack-android-4.1.9.jar
  • smack-android-extensions-4.1.9.jar
  • smack-core-4.1.9.jar
  • smack-experimental-4.1.9.jar
  • smack-extensions-4.1.9.jar
  • smack-im-4.1.9.jar
  • smack-jingle-old-4.1.9.jar
  • smack-sasl-provided-4.1.9.jar
  • smack-tcp-4.1.9.jar

开始我们的正菜

<1> 打开连接

public AbstractXMPPConnection connection;
public String XMPP_RESOURCE ="android";
public String XMPP_HOST ="114.114.114.114"; 
public boolean openConnection(){
    try{
        if(null == connection || !connection.isAuthenticated()){
            SmackConfiguration.DEBUG = true;
            XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder();
            //设置端名称
            config.setResource(XMPP_RESOURCE)
            //服务器IP地址
            config.setHost(XMPP_HOST)
            //服务器端口
            config.setPort(Constant.XMPP_PORT)
            //设置登录状态
            config.setSendPresence(false)
            //服务器名称
            config.setServiceName(Constant.XMPP_HOST)
            //是否开启安全模式
            config.setSecurityMode(XMPPTCPConnectionConfiguration.SecurityMode.disabled)
            //是否开启压缩
            config.setCompressionEnabled(false)
            //开启调试模式
            config.setDebuggerEnabled(true).build();
            //需要经过同意才可以添加好友 manual 添加直接通过accept_all
            Roster.setDefaultSubscriptionMode(Roster.SubscriptionMode.manual);
            connection = new XMPPTCPConnection(config);
            
            //认证相关内容---需要认证添加,否则注销
            SASLMechanism mechanism = new SASLDigestMD5Mechanism();
            SASLAuthentication.regusterSASLMechanism(mechanism);
            SASLAuthentication.blacklistSASLMechanism("SCRAM-SHA-1");
            SASLAuthentication.blacklistSASLMechanism("DIGEST-MD5");

            connection.connect();
        }
    } catch (Exception e){
        e.printStackTrace();
        connection = null;
    }
}

<2> 登陆

    connection.login("账号","密码");
    if(connection.isAuthenticated()){
        //登陆成功
    }

<3> 注册

    public boolean register(String 账号,String 密码){
        try{
            AccountManager.getInstance(connection).createAccount(账户,密码);
        }catch(Exception e){
            e.printStackTrace();
            return false;       //注册失败
        }
        return true;            //注册成功
    }

结束语:

    今天白天还在赶项目,晚上感觉很疲劳,想休息一下。再看看爱情保卫看到很多情侣因为房子车子再努力奋斗,而没有时间关系对方,导致分手的比比皆是。
    所以激发一个IT男的热血,奋斗吧!少年!

相关文章

网友评论

      本文标题:Xmpp第一篇

      本文链接:https://www.haomeiwen.com/subject/qnxvbftx.html