目录

BOSH定义

prosody定义

XMPP

Differences Between Core Jabber Protocols and XMPP

参考文档


BOSH定义

BOSH is “Bidirectional-streams Over Synchronous HTTP”, a technology for two-way communication over the Hypertext Transfer Protocol (HTTP). BOSH emulates many of the transport primitives that are familiar from the Transmission Control Protocol (TCP). For applications that require both “push” and “pull” communications, BOSH is significantly more bandwidth-efficient and responsive than most other bidirectional HTTP-based transport protocols and the techniques known as AJAX. BOSH achieves this efficiency and low latency by avoiding HTTP polling, yet it does so without resorting to chunked HTTP responses as is done in the technique known as Comet. To date, BOSH has been used mainly as a transport for traffic exchanged between Jabber/XMPP clients and servers (e.g., to facilitate connections from web clients and from mobile clients on intermittent networks). However, BOSH is not tied solely to XMPP and can be used for other kinds of traffic, as well.

prosody定义

Prosody is a modern XMPP communication server. It aims to be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.

Ports
The image exposes the following ports to the docker host:80: HTTP port
5222: c2s port
5269: s2s port
5347: XMPP component port
5280: BOSH / websocket port
5281: Secure BOSH / websocket port
Note: These default ports can be changed in your configuration file. Therefore if you change these ports will not be exposed.

XMPP

XMPP(Extensible Messaging and Presence Protocol,前称Jabber)协议介绍

可扩展消息处理现场协议(eXtensible Messaging and Presence Protocol , XMPP) 是一种基于可扩展标记语言(eXtensible Markup Language, XML)的近端串流式即时通信协议。它将现场和上下文敏感信息标记嵌入到XML 结构化数据中, 使得人与人之间、应用系统之间以及人与应用系统之间能即时相互通信
XMPP是一种基于XML架构的开放式协议.XMPP的基础部分已经在2002-2004年得到了互联网工程任务组(IETF)的批准,未来XMPP协议会理所当然的同Internet协议TCP/IP、HTTP、FTP、SMTP、POP一样成为Internet标准。

Xmpp协议内容

XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的 路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过 TCP/IP连接到单服务器,然后在之上传输XML。

XMPP代表eXstensible Messaging and Presence Protocol."可扩展"部分很重要.XMPP基于XML,这是一种支持称为命名空间概念的数据格式.

通过命名空间,您可以向XMPP添加未在原始规范中定义的位.这很重要,因为XMPP规范只是故意描述一组核心内容,例如:

  • 客户端如何连接到服务器
  • 加密(SSL/TLS)
  • 认证
  • 服务器如何相互通信以传递消息

......以及其他一些基本构建模块.

一旦你实现了这个东西,你有一个XMPP客户端,可以发送你喜欢的任何类型的数据!但这也是一个问题.

例如,您可能决定要在消息中包含格式(粗体,斜体等),这在核心XMPP规范中未定义.好吧,你可以想办法做到这一点,但除非其他人都像你一样做,否则其他任何软件都无法解释它(他们只会忽略他们不理解的命名空间).

因此,XMPP标准基金会(XSF)发布了一系列额外文档,称为XMPP增强建议(XEP).通常,每个XEP都描述一个特定的活动(从消息格式化到文件传输,多用户聊天等等),它们为每个人提供了用于该活动的标准格式.

Differences Between Core Jabber Protocols and XMPP

XMMP改编自Jabber开源社区的Jabber草案,所以,你可以把Jabber看做是XMPP0.9。由于已经存在了大量的Jabber的实现,所以说明一下Jabber和XMPP的区别是非常有必要的,同时也能加快个鼓励这些基于Jabber的实现升级到XMPP

参考文档

XMPP | An Overview of XMPP

Welcome – Prosody IM

XMPP——xmpp协议详解、优点、缺点及优化思路 - jessonlv - 博客园

xmpp和jabber的区别_booooooooooooooooooo的博客-CSDN博客

这个比较全:

XMPP | Specifications

这个是一单的解析

XEP-0100 XMPP网关接口协议_庐山西海的博客-CSDN博客

prosody相关概念了解。xmpp,jabber,bosh等相关推荐

  1. Smack 4.3.2 发布,XMPP(jabber) 的 Java 客户端类库

    开发四年只会写业务代码,分布式高并发都不会还做程序员? >>>   Smack 4.3.2 发布了,Smack 是一个开源,易于使用的 XMPP(jabber) 的 Java 客户端 ...

  2. 开源Jabber(XMPP) IM服务器介绍

    一.摘要 这是我粗略读了一遍Jabber协议和相关技术文章后的产物,有些地方不一定准确.在文章中引用的一些代码来自www.jabber.org上的文章. 二. 什么是Jabber     Jabber ...

  3. xmpp bosh web

    full text https://www.ibm.com/developerworks/cn/xml/tutorials/x-realtimeXMPPtut/ 联机状态 联机状态信息包含在一个联机状 ...

  4. 深入认识Tigase XMPP Server(上)

    深入认识Tigase XMPP Server(上) 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本文的目的是深入认识Tigase XMPP Serve ...

  5. XMPP的简介和基本概念

    XMPP是一个标准,定义了很多的规范(起源于Jabber),不同的产品都基于这些标准实现 xmpp.org http://xmpp.org/about-xmpp/technology-overview ...

  6. XEP-0199: XMPP Ping

    Ping协议就是利用约定的NameSpace任意IQ; XMPP Ping The XMPP Ping protocol is specified in XEP-0199 (a Draft Stand ...

  7. Openfire XMPP Smack RTC IM 即时通讯 聊天 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. 常用开源Jabber服务器介绍

    常用开源Jabber服务器介绍 1. Openfire (Wildfire) 3.x 授权:GPL or 商用 操作系统平台:所有(使用Java开发) XMPP Jabber 协议实现情况:98% T ...

  9. android开启服务器配置,Android基于XMPP开发(一)【openfire服务器配置】

    OpenFire OpenFire 是采用Java开发的基于XMPP(Jabber)协议,开源实时协作(RTC)服务器. Smack 是用 Java编 写的XMPP客户端代码库,是 spark 的核心 ...

  10. java socket / IM / Message / chat / liaotian / xmpp

    socket http://baike.baidu.com/view/1589439.htm http://www.cn-java.com/www1/?action-viewnews-itemid-6 ...

最新文章

  1. 神经病啊!——微信同层播放器接(踩)入(坑)总结
  2. linux(centos)下mysql忘记root密码
  3. 条件队列java_Java并发系列(4)AbstractQueuedSynchronizer源码分析之条件队列
  4. WordPress文章阅读量统计和显示(非插件, 刷新页面不累加)
  5. 用自定义函数联合IF函数实现“一对多”查询
  6. 计算机视觉领域稍微容易中的期刊(第一版)
  7. bandizip修改压缩文件内容_BandiZip使用方法,成功压缩解压文件
  8. 赛门铁克symantec 卸载需要密码解决方法
  9. 计算机专业毕业了 还要不要参加培训班
  10. 数据结构(十四)——二叉树
  11. 租的房子里有无线路由器有ip和dns服务器无密码可以联网吗,没网怎么设置路由器?...
  12. 华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo
  13. ncbi查找目的基因序列_干货 | 如何查找目标基因序列?掌握这几招就够了!(NCBI篇)...
  14. 打印网页去掉不相关信息
  15. 丰田召回事件的深层次原因
  16. vue -- 移动端(vant)更换头像剪切功能
  17. linux怎么运行dnf,dnf命令 - Linux命令大全 | linux教程
  18. 数据透视表的几个技巧
  19. Android毛玻璃效果的实现(本文系转载一种快速毛玻璃虚化效果实现)
  20. STC8h1k28六个基本实验

热门文章

  1. http 请求 返回状态码 405 的问题
  2. html控制变量范围,加入控制变量后结果悲催了?!
  3. 离散数学——主析取范式与主合取范式原理探究
  4. 给新建属性设置自己需要的快捷键
  5. VelocityTracker
  6. VS2010旗舰版安装步骤
  7. 【无人机学习】无人机基础知识
  8. 拉格朗日方程的三种推导方法之基于欧拉-拉格朗日方程推导
  9. 易管家服装进销存 v1.0 下载
  10. 支付宝小程序获取手机号授权