xmpp版即时聊天

xmpp版即时聊天

即时聊天的解决方案

  • socket:
  • xmpp:xmpp+openfire+asmack

常见协议

通信共性

  1. 有客户端和服务端
  2. 客户端和服务端要通信,需要保持连接

开发即时通讯软件的类型

  • 定制开发
    • 自己搭建服务端,自己去基于xmpp协议做开发
    • 核心:熟悉asmak.jar相关的api
  • 集成开发
    • 使用第三方的东西(环信,融云通讯)
    • 核心:了解第三方api

简单聊一下socket

socket:套接字,连接需要ip端口,分为tcp和udp两种形式

常见的术语

  • xmpp:基于xml的可拓展协议.
  • jabber:xmpp的前身.
  • openfire:支持xmpp的开源服务器
  • smack.jar:对xmpp协议封装.方便开发的jar包.
  • spark.exe:基于xmpp的pc客户端;
  • asmack.jar:smack.jar的精简版.专门针对android端开发

xmpp的认识.

xmpp特点:

  1. 开放: XMPP协议是自由、开放、公开的,并且易于了解。 而且在客户端 、 服务器 、 组件 、 源码库等方面,都已经各自有多种实现。
  2. 标准: 互联网工程工作小组( IETF )已经将Jabber的核心XML流协议以XMPP之名,正式列为认可的实时通信及Presence技术。 而XMPP的技术规格已被定义在RFC3920及RFC3921 。 任何IM供应商在遵循XMPP协议下,都可与Google Talk实现连接。
  3. 证实可用: 第一个Jabber(现在XMPP)技术是Jeremie Miller在1998年开发的,现在已经相​​当稳定;数以百计的开发者为XMPP技术而努力。 今日的互联网上有数以万计的XMPP服务器运作着,并有数以百万计的人们使用XMPP实时传讯软件。
  4. 分散式: XMPP网络的架构和电子邮件十分相像;XMPP核心协议通信方式是先创建一个stream,XMPP以TCP传递XML数据流,没有中央主服务器。 任何人都可以运行自己的XMPP服务器,使个人及组织能够掌控他们的实时传讯体验。
  5. 安全: 任何XMPP协议的服务器可以独立于公众XMPP网络(例如在企业内部网络中),而使用SASL及TLS等技术的可靠安全性,已自带于核心XMPP技术规格中。
  6. 可扩展: XML 命名空间的威力可使任何人在核心协议的基础上建造定制化的功能;为了维持通透性,常见的扩展由XMPP标准基金会 。 弹性佳 XMPP除了可用在实时通信的应用程序,还能用在网络管理、内容供稿、协同工具、文件共享、游戏、远程系统监控等。
  7. 多样性: 用XMPP协议来建造及布署实时应用程序及服务的公司及开放源代码计划分布在各种领域;用XMPP技术开发软件,资源及支持的来源是多样的,使得使你不会陷于被“绑架”的困境。

相关的下载

asmack github:https://github.com/Flowdalic/asmack
asmack下载地址1:http://asmack.freakempire.de/
asmack下载地址2:http://code.google.com/p/asmack/downloads/list
openfire下载地址:http://www.igniterealtime.org/downloads/index.jsp
smack使用指南:http://www.igniterealtime.org/builds/smack/docs/latest/documentation/index.html

openfire的安装

  1. 官网http://www.igniterealtime.org/
  2. 安装包的类型
    1. exe安装包–>点击exe根据提示安装
    2. zip包解压版–>解压放到指定目录就可以了.
  3. 首次运行的配置
    1. 配置语言–>中文简体
    2. 配置数据库形式–>内嵌数据库
    3. 配置服务器名称–>itheima
    4. 配置管理员账号密码–>admin admin
  4. 创建用户
    1. admin admin
    2. hm1 111111

spark的安装–>xmpp客户端1

  • 直接下一步就可以完成
  • 运行
    • 1.配置服务器ip
    • 2.输入用户账号/密码

如意通的安装–>xmpp客户端2

pc端-服务器-pc端演示

smack常见api的查看.

xmpp版即使聊天的核心:其实就是熟悉asmack.jar里面的一些常见类.以及常见监听器;

工程搭建

  1. asmack.jar的下载,下载地址http://asmack.freakempire.de/
  2. 创建android工程.
  3. 添加jar包.添加依赖
  4. as关联源码.

引导页模块splashActivity

  1. ThreadUtils的封装.

登录模块LoginActivity

  1. 引入了ButterKnife.jar以及as的android-butterknife-zelezny插件
  2. ButterKnife:类似xutils中的viewUtils
  3. 调用api登录

连接配置

// 设置常见的参数
config.setDebuggerEnabled(true);// 开启调试模式,可以看到传输的xml
config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);//明文传输

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值