`
wsyandy
  • 浏览: 39897 次
  • 来自: ...
社区版块
存档分类
最新评论

即时通讯 XMPP IM

阅读更多
我基本上分为3部分:

1 是关于XMPP 协议是啥,IM 是啥以及一个比较有名的开源实现,该开源实现包括三个部分(Spark、Smack和Openfire);

2 讲如何开发基于Spark 的客户端IM 插件部分;

3 讲如何开发基于Openfire 服务器端的插件部分。

第一部分
什么是XMPP?
Extensible Messaging and Presence Protocol,简单的来讲,它就是一个发送接收处理消息的协议,但是这个协议发送的消息,既不是二进制的东东也不是字符串,而是XML。正是因为使用了XML作为消息传递的中介,Extensible 才谈的上。


什么是IM ?

Instant Messenger,及时通信软件,就是大家使用的QQ、MSN Messenger和Gtalk等等。其中Gtalk 就是基于XMPP 协议的一个实现,其他的则不是。当前IM 几乎作为每个上网者必然使用的工具,在国外的大型企业中有一些企业级的IM应用,但是其商业价值还没完全发挥出来。设想既然XMPP 协议是一个公开的协议,那么每个企业都可以利用它来开发适合本身企业工作,提高自身生产效率的IM;

Spark Smack 和 Openfire

这三个合起来就是一个完整的XMPP IM 实现。
服务器端——Openfire
    Openfire 是基于XMPP 协议的IM 的服务器端的一个实现,虽然当两个用户连接后,可以通过点对点的方式来发送消息,但是用户还是需要连接到服务器来获取一些连接信息和通信信息的,所以服务器端是必须要实现的。Openfire 也提供了一些基本功能,但真的很基本的!庆幸的是,它也提供插件的扩展,像Spark 一样,我同样强烈建议使用插件扩展的方式来增加新的功能,而不是修改人家的源代码。

客户端——Spark
    Spark 提供了客户端一个基本的实现,并提出了一个很好的插件架构,这对于开发者来说不能不说是一个福音。我强烈建议基于插件方式来实现你新增加的功能,而不是去改它的源代码,这样有利于你项目架构,把原始项目的影响降到最低

XMPP 传输协议的实现——Smack
     Smack 是一个XMPP 协议的Java 实现,提供一套可扩展的API,
三者都是基于Java 语言的实现,因此对于熟悉Java 的开发者来说不是很难


三者之间的关系



  • 大小: 45.3 KB
分享到:
评论

相关推荐

    安卓即时通讯基于xmpp

    即时通讯(Instant Messaging,IM)技术是现代移动通信领域中的重要组成部分,尤其在安卓平台上,它为用户提供了实时、便捷的信息交流方式。XMPP(Extensible Messaging and Presence Protocol,可扩展消息传递和...

    java-开源即时通讯(IM)系统Android端

    3. **即时通讯协议**:常见的 IM 协议有 XMPP(Extensible Messaging and Presence Protocol)和 MQTT(Message Queuing Telemetry Transport)。XMPP 更加灵活,适合构建复杂的聊天系统,而 MQTT 适合低带宽环境。...

    52im即时通讯源码 带安卓和iso源码

    《52im即时通讯源码:安卓与iOS平台的实现详解》 即时通讯(Instant Messaging,简称IM)技术是现代互联网应用中不可或缺的一部分,它为用户提供实时、便捷的信息交流方式。52im即时通讯源码是一款支持Android和iOS...

    基于xmpp协议的多端即时通讯

    即时通讯(Instant Messaging,简称IM)是利用互联网技术实现点对点、点对多点的实时通讯服务。XMPP(Extensible Messaging and Presence Protocol,可扩展消息与出席协议)是一种开放的XML协议,用于即时消息传递...

    Java开发 基于Xmpp的IM即时通讯项目

    【Java开发 基于Xmpp的IM即时通讯项目】是一个使用Java编程语言构建的实时通信应用程序,它基于XMPP(Extensible Messaging and Presence Protocol)协议。XMPP是一种开放的标准,用于实现即时消息传递和在线状态...

    一套带即时通讯的商城源码、海外购商城+im即时通讯源码.zip

    即时通讯(IM)功能通常由专门的消息传递系统支持,允许用户进行一对一或群组聊天,甚至可能包括语音和视频通话。 首先,我们来详细了解一下商城源码。商城源码是电子商务平台的核心,它包含了网站的前端展示、后台...

    Delphi11.3基于XMPP(JABBER)协议的IM即时通讯客户端源码.zip

    《Delphi 11.3 实现XMPP即时通讯客户端:深入解析与实践》 在当今信息化社会,即时通讯(Instant Messaging,简称IM)已成为人们日常生活中不可或缺的一部分。本篇文章将详细探讨如何利用Delphi 11.3这一强大的开发...

    XMPP_OPenfire即时通讯IM-android版

    总之,"XMPP_OPenfire即时通讯IM-android版"项目涵盖了XMPP协议和Openfire服务器的集成,以及Android应用中的即时通讯功能实现,涉及到网络通信、数据传输、用户交互等多个方面的技术。通过熟练掌握这些知识点,...

    XMPP.zip_XMPP即时通信_aioxmpp_xmpp _xmpp qq_即时通讯

    这个“XMPP.zip”文件显然包含了关于如何使用XMPP实现即时通讯,尤其是仿照QQ功能的相关资源。让我们深入探讨XMPP协议、aioxmpp库以及如何在Python中构建即时通讯应用。 XMPP协议: XMPP最初由Jabber项目开发,后...

    IM_SRC2.1.rar_IM即时_delphi_delphi xmpp_im_xmpp

    标题 "IM_SRC2.1.rar_IM即时_delphi_delphi xmpp_im_xmpp" 提供的信息表明,这是一个关于使用Delphi编程语言实现的基于XMPP协议的企业即时通讯(IM)系统的源代码包。这个系统可能包含了从客户端到服务器端的完整...

    即时通讯协议:xmpp

    Messaging and Presence Protocol (XMPP) that provide basic instant messaging (IM) and presence functionality in conformance with the requirements in RFC 2779. This document obsoletes RFC 3921.

    多语言IM即时通讯源码 支持7端互通通讯带教程源码.zip

    《多语言IM即时通讯源码实现详解》 即时通讯(Instant Messaging, IM)技术在现代社会中扮演着重要的角色,尤其在互联网应用中,它已成为必不可少的功能之一。本篇将深入探讨一个支持多语言并实现7端互通的IM即时...

    XMPP协议--即时通讯工具实现原理

    XMPP (Extensible Messaging and Presence Protocol) 是一种开放标准的即时通讯协议,它基于XML,设计用于提供实时通信和消息传递。XMPP的核心组件包括客户端、服务器和服务器之间的连接,使得用户可以进行一对一、...

    xmpp即时通讯

    它在即时通讯(Instant Messaging, IM)领域扮演着重要角色,为开发者提供了构建可扩展、安全且可靠的聊天应用的框架。XMPP的设计灵感来源于早期的Jabber协议,现在已经演变成一个国际标准,由互联网工程任务组...

    风车IM即时通讯聊天系统源码-聊天APP-附APP-带安装教程

    风车IM即时通讯聊天系统是一款专为移动社交和企业办公设计的即时通讯解决方案,它提供了完整的源码,允许用户在自己的服务器上进行独立部署。这一特性确保了数据的安全性,因为所有的通讯信息都将通过加密通道传输,...

    即时通讯(IM)

    即时通讯(IM,Instant Messaging)是一种在线通信技术,允许用户实时交换消息,类似于现实生活中的对话。它通过互联网连接用户,提供了高效、便捷的沟通方式,是现代数字生活中不可或缺的一部分。像QQ这样的即时...

    多语言IM即时通讯源码-支持7端互通通讯/带教程源码下载

    即时通讯(Instant Messaging,简称IM)是现代互联网应用中不可或缺的一部分,它允许用户实时地进行文字、语音甚至视频交流。本资源提供了一套多语言的IM即时通讯源码,特别强调了其支持7个不同终端之间的互通通讯。...

    Android 基于XMPP协议IM聊天实现(客户端+服务端) 源码

    在本文中,我们将深入探讨如何使用XMPP协议在Android平台上实现一个完整的即时通讯(IM)系统,包括客户端和服务器端的实现。XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准,广泛用于...

    亲测!某站8000买的默往im即时通讯源码【带详细教程】【源码大小2.4G】

    2. **协议设计**:即时通讯软件通常基于特定的通信协议,如XMPP、MQTT或自定义协议。源码可能会展示这些协议的具体实现,包括消息格式、握手过程和心跳机制。 3. **客户端开发**:源码中会包含iOS、Android、Web等...

Global site tag (gtag.js) - Google Analytics