首先说下上周又做了几天得无用功, 之前一直用的是ejabberd ,这次换了opnefire,有人说opnefire跟新的xmpp协议不兼容,后来又更换成了ejabberd,Github 上得demo,主要是链接时间,账户名登录不正确,会导致登录认证失败,首先你需要在后台创建一个 test1 得账号...
分类:
移动开发 时间:
2014-09-06 19:58:43
阅读次数:
232
上一节,我们介绍了XMPP的基础,还没说完,说到了通信洪流,然后就结束了。这一节,我们接着讲。主要是“stanzas”(节).上一节,我们说,区分stanzas,需要从它的名字,属性TYPE和子节点来区分。这一节,我们分别介绍:消息(Message),出席/上线(Presence),信息查询(IQ)以及可扩展性(Extensibility)。
1,消息(Message)
消息是xmpp中的一种...
分类:
其他好文 时间:
2014-09-05 18:12:31
阅读次数:
232
今天,我们来说一下XMPP协议本身的一些东西。毕竟Asmack只是该协议的一个实现版本。所以,我们又必要了解XMPP协议本身。
1,架构
什么是架构,架构就是一系列实体如何组织、联系和交换信息。例如万维网,由成千上万的服务器,他们运行着Apache或者是新的Nginx,客户端由web浏览器,如IE,firefox和Chrome。他们之间交换的数据是HTML,他们之间交换数据的协议是HTTP。
...
分类:
其他好文 时间:
2014-09-05 16:19:11
阅读次数:
177
这一节,我们从Asmack基于的协议核心出发,XMPP协议,来学习。弄懂XMPP对学习Asmack源码有着重要的原因,做到知其然知其所以然。
本文主要是学习《XMPP The Definitive Guide Building Real-Time Applications with Jabber Technologies》文总结而来。
1,您能够拿XMPP来做什么?
XMPP(Ext...
分类:
其他好文 时间:
2014-09-05 11:24:51
阅读次数:
203
XMPP是用XML来进行数据交换的,所以,我们必须对XML有了解。对于XML理论知识,可以去稍微的复习一下。例如,节点,实体,属性等这些。今天,我们需要讲的是xmlPullParser。XML解析库其实有很多,而android平台下非常推崇它,当然XMPP也是,因为它的有点是不需要导入整个xml文件。还记得xmpp的一个特点就是能够传输小片xml文件数据。试想,如果你的xml解析库非得完整的xml...
分类:
其他好文 时间:
2014-09-05 11:22:21
阅读次数:
166
openfire是一个即时通讯服务器,也称之为即时通讯平台。它是基于XMPP协议的,大家所熟悉的通讯软件QQ、MSN和Gtalk等等,其中Gtalk就是基于XMPP协议的实现。
在即时通讯中往往因为需要保存一些状态或者数据所以不能采用点对点通讯,而是需要搭建服务器来转发。
下载地址:http://www.igniterealtime.org/downloads/index.jsp
下载完...
分类:
其他好文 时间:
2014-09-05 10:04:11
阅读次数:
193
由于XMPP不支持群聊很多本地化的服务, 针对Openfire开发插件解决问题: Message 扩展: Message videoMsg = new Message(); VideoChatRTP videoXml = new VideoChatRTP(); //扩展类型 videoXml.setVideoType(Vi...
分类:
其他好文 时间:
2014-09-04 12:01:59
阅读次数:
169
在研究Smack的源代码的时候,我对它的连接Connection以及派生类XMPPConnection的关注是最多的,因为一个即时通信程序,它的网络模块必是它的核心。而我很在乎它是如何实现的。
在收发数据包的时候,我看到了队列的身影。BlockingQueue和ArrayBlockingQueue。所以,我觉得用到什么然后去查阅,去记录,这种方法是比较高效率的。
BlockingQueue是在...
分类:
移动开发 时间:
2014-09-03 16:57:37
阅读次数:
237
客户端连接上服务器并登录以后,可以发送、接收消息。首先需要定义Chat,MessageListener和ChatMessageListener几个变量: private static Chat chat; private static MessageListener ml = new M...
分类:
其他好文 时间:
2014-09-03 16:25:36
阅读次数:
216
如果手动一步步设置 删除默认, 首先停止正常运行的Openfire服务器 默认的库ofProperty的如下记录删除 provider.auth.classname provider.user.classname provider.group.classname 建立一个第三方的表 CREATE T...
分类:
数据库 时间:
2014-09-02 23:01:36
阅读次数:
509