接口XMPPConnection

  • 所有已知的实现类:
    AbstractXMPPConnectionXMPPBOSHConnectionXMPPTCPConnection

    公共接口XMPPConnection
    XMPPConnection接口提供用于连接到XMPP服务器的接口,并实现由不同类型的连接(例如XMPPTCPConnectionXMPPBOSHConnection)使用的共享方法 。要创建与XMPP服务器的连接,此API的简单用法可能如下所示:

     //创建与igniterealtime.org XMPP服务器的连接。
    XMPPTCPConnection con = new XMPPTCPConnection(“igniterealtime.org”);
    //连接到服务器
    con.connect();
    //大多数服务器要求您在执行其他任务之前登录。
    con.login(“jsmith”,“mypass”);
    //与John Doe开始新的对话并向他发送消息。
    ChatManager chatManager = ChatManager.getInstanceFor(con);
    chatManager.addIncomingListener(new IncomingChatMessageListener(){
    public void newIncomingMessage(EntityBareJid from,Message message,Chat chat){
    //打印出我们返回标准的任何消息。
    System.out.println(“收到的消息:”+消息);
    }
    });
    聊天聊天= chatManager.chatWith(“jdoe@igniterealtime.org”);
    chat.send( “你好!”);
    //断开与服务器的连接
    con.disconnect();
      // Create a connection to the igniterealtime.org XMPP server.
    XMPPTCPConnection con = new XMPPTCPConnection("igniterealtime.org");
    // Connect to the server
    con.connect();
    // Most servers require you to login before performing other tasks.
    con.login("jsmith", "mypass");
    // Start a new conversation with John Doe and send him a message.
    ChatManager chatManager = ChatManager.getInstanceFor(con);
    chatManager.addIncomingListener(new IncomingChatMessageListener() {
    public void newIncomingMessage(EntityBareJid from, Message message, Chat chat) {
    // Print out any messages we get back to standard out.
    System.out.println("Received message: " + message);
    }
    });
    Chat chat = chatManager.chatWith("jdoe@igniterealtime.org");
    chat.send("Howdy!");
    // Disconnect from the server
    con.disconnect();

    需要注意的是XMPPConnection接口并没有故意申报操纵的连接状态,例如任何方法connect()disconnect()。您应该使用最具体的连接类型,例如XMPPTCPConnection声明的类型,并在不需要操作连接状态时使用XMPPConnection接口。

    XMPPConnections可以在连接之间重用。这意味着可以连接,断开连接然后再连接。XMPPConnection的监听器将保留在各个连接中。

接口XMPPConnection的更多相关文章

  1. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  2. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  3. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  4. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  5. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  6. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

  7. 【WCF】自定义错误处理(IErrorHandler接口的用法)

    当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...

  8. PHP以接口方式实现多重继承(完全模拟)--学习笔记

     1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...

  9. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

随机推荐

  1. Android端项目测试

    目录 一.概述 二.使用工具 三.测试 1.测试主要的两大功能 进入主界面,测试排行榜查看功能是否能运行 测试83端口打卡能否运行 修改个人信息已经注册功能 2.测试参数是否正确 3.测试刷新能否使用 ...

  2. java 深copy

    public static<T> T deepClone(T src) throws IOException, ClassNotFoundException { Object obj = ...

  3. hdu1801 01翻转 贪心

    题目描述: 对于给出的一个n*m的矩形,它由1和0构成,现在给你一个r*c的矩形空间可以选择,且可以选择无数次(被选中的范围内01翻转),要求问将这个01矩阵全部变成0的最少需要翻多少次,且如果无法实 ...

  4. django+sqlite进行web开发(二)

    模板 前面的例子中,我们是直接将HTML写在了Python代码中,这种写法并不可取.我们需要使用模板技术将页面设计和Python代码分离. 模板通常用于产生HTML,但是Django的模板也能产生任何 ...

  5. HDU4747:Mex(线段树区间修改)

    传送门 题意: 给出\(n\)个数,然后求\(\sum_{i=1}^n\sum_{j=i}^nmex(i,j)\).\(mex(i,j)\)表示区间\([i,j]\)的\(mex\). 思路: 考虑枚 ...

  6. 安装elasticsearch+kibana+searchguard

    ---------------------------------安装es的search-guard-------------------------------------------------- ...

  7. Celery详解(1)

    在学习Celery之前,我先简单的去了解了一下什么是生产者消费者模式. 生产者消费者模式 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是 ...

  8. Windows中的txt文件到Mac打开是乱码 解决办法

    在Mac下打开“文本编辑”程序之后,选择菜单“文本编辑” -> “偏好设置”.2)在“偏好设置”中选择第二个标签页“打开和存储”,选择“纯文本文件编码”中的“打开文件”和“存储文件”修改成为“中 ...

  9. js语法中一些容易被忽略,但会造成严重后果的细节

    一.复杂数据类型-“对象”的地址引用方式,不理解清楚,会出大乱子 复习一下基础概念(老司机略过): JS的数据可以分为简单类型(数字.字符串.布尔值.null和undefined)和 复杂数据类型(对 ...

  10. Linux磁盘管理——分区和文件系统

    1.分区类型 (1)主分区:最多只能有四个(主分区加扩展分区一共有四个). (2)扩展分区:最多有一个,是主分区中的其中一个.不能存储数据也不能格式化,必须再分成逻辑分区才能使用. (3)逻辑分区:是 ...