基于XMPP协议的通讯工具

一,概要

       转眼毕业了,毕业设计的课题是“基于XMPP协议的通讯工具”,开发平台式android,实现了基本的离线消息,文字聊天,表情聊天,文件传输,语音聊天的功能。
本文主要介绍开发过程中服务器的配置,开发包Asmack的使用,以及其它一些开源包的使用(如表情包)。

二 ,XMPP协议以及Openfire服务器

1,XMPP协议                                                                       

何为XMPP协议,简要(不精确)地说:“XMPP一种开源的通讯协议,只要是基于这个协议开发的通讯工具,都可以相互通讯(不同服务器的用户则需要在服务器相互连接的前提下,才能跨服务器通讯)。” 另外XMPP协议以前的名字是Jabber。
关于XMPP协议的官网,如下(英文为官网,中文为国人翻译的版本)
XMPP官网http://xmpp.org/rfcs/rfc3921.html#toc
XMPP官网中文翻译
 http://wiki.jabbercn.org/RFC3921#.E4.BA.A4.E6.8D.A2.E5.87.BA.E5.B8.AD.E4.BF.A1.E6.81.AF

2,Openfire服务器

        开发过程中只需要专注于客户端的开发,因为我们可以使用开源免费的服务器Openfre。
Openfire官网地址:http://www.igniterealtime.org/downloads/index.jsp
Openfier 服务器配置教程:http://www.cnblogs.com/tanlon/archive/2011/07/16/2108419.html
另外,开发过程中可以用一个测试客户端,官网提供的Spark,目前最新版本(好久没更新)存在一个问题,收发文件的功能不是很稳定。
Spark下载地址:http://www.igniterealtime.org/downloads/index.jsp

二,Asmack开发包 API的使用

smack是官方给出的xmpp协议在java平台的开发包,而asmack是android平台的xmpp协议开发包
    Asmack下载官网:https://github.com/Flowdalic/asmack
          smack和Asmack的API基本没有区别,所以可以开发过程可以参照smack的API
    smack(Asmack) API官网:
  http://www.igniterealtime.org/builds/smack/docs/latest/javadoc/
    smack(Asmack)使用指导:
 http://www.igniterealtime.org/builds/smack/docs/latest/documentation/index.html

三,表情聊天

表情聊天使用了开源包Emojicon
Emojicon官网:http://rockerhieu.com/


四,版本问题

开发过程中遇到两个关于版本的问题
1,Openfire 3.9.2开始才支持emoji字符,3.9.1及更旧的版本多不支持emojicon字符
2,不知道为什么部分版本的asmack在文件传输时会出现问题,以下这个版本是我在网上找到的一个可以正常使用的版本
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值