XMPP协议的总结和总结——IM即时通讯、短视频、直播、企业私有化APP实践(四)


浏览:573 次

XMPP协议概述

不仅仅是一个熟练的人

今天,我们主要分析XMPP中的一些术语。内容涉嫌抄袭。主要原因是在后续开发中会有很多新名称。最好将它们组织成一篇文章,以便于后续开发找到新名称

1.XMPP协议网络架构

XMPP是一种典型的C/S架构,而不像大多数即时消息软件那样使用P2P客户端到客户端架构。也就是说,在大多数情况下,当两个客户端通信时,它们的消息通过服务器传输(除了某些情况,例如,当两台客户端传输文件时)。这种架构主要用于简化客户端并将大部分工作放在服务器上,这样,客户端的工作相对简单。此外,在添加功能时,大多数功能都在服务器端执行。XMPP服务的框架结构如下图所示。XMPP定义了三个角色,即XMPP客户端、XMPP服务器和网关。三者中的任意两个之间可以双向通信。服务器还承担记录客户端信息的任务连接管理和信息路由功能。网关承担与异构即时消息系统的互连,这些系统可以包括SMS(短消息)、MSN、ICQ等。基本网络形式是单个客户端通过TCP/IP连接到单个服务器,然后在其上传输XML。工作原理是:

(1) 节点连接到服务器;

(2) 服务器使用本地目录系统中的证书对其进行身份验证;

(3) 节点指定目标地址,让服务器告知目标状态;

(4) 服务器搜索、连接和相互认证;

(5) 节点之间相互作用

2.XMPP客户端

XMPP系统的一个设计标准是它必须支持简单的客户端。事实上,XMPP系统架构对客户端的限制很少。XMPP客户端必须支持的功能包括:

通过TCP套接字与XMPP服务器通信;

解析有组织的XML数据包;

了解消息数据类型。

XMPP将复杂性从客户端转移到服务器。这使得在客户端编写和更新系统功能变得非常容易。XMPP客户端通过TCP套接字的端口5222上的XML与服务器通信,而客户端之间没有直接通信。

3.XMPP服务器

XMPP服务器遵循两个主要规则:

L监控客户端连接并直接与客户端App通信;

L与其他XMPP服务器的通信;

XMPP开源服务器通常设计成模块化的,由不同的代码包组成。这些代码包处理会话管理、用户和服务器之间的通信、服务器之间的通讯、DNS(域名系统)转换、用户个人信息和朋友列表的存储、用户离线时接收的信息的保留、用户注册、,用户身份和权限验证根据用户要求过滤信息和系统记录。此外,可以通过附加服务扩展服务器,例如完整的安全策略,该策略允许连接服务器组件或选择客户端,从而连接到其他消息系统的网关。

4.XMPP网关

XMPP的突出特点是它可以与其他即时通讯系统和用户的在线状态交换信息。由于协议不同,XMPP与其他系统之间的信息交换必须通过协议转换来实现。目前还没有公开几种主流的即时通讯协议,因此XMPP服务器本身没有实现与其他协议的转换,但其架构允许实现转换。实现此特殊功能的服务器在XMPP架构中称为网关。目前,XMPP已经实现了与AIM、ICQ、IRC、MSN Massager、RSS 0.9和Yahoo Massager的协议转换。由于网关的存在,XMPP架构实际上与所有其他即时消息网络兼容,这无疑大大提高了XMPP的灵活性和可扩展性。

5.XMPP地址格式

在XMPP网络结构中,实体称为联系人。它有一个唯一的标识符,jabber标识符(JID),即实体地址。它用于表示Jabber用户,但也可以表示其他内容,如聊天室。有效的JID包括一系列元素:(1)域标识符;(2) 节点标识符;(3) 资源标识符。其格式为node@domain/资源node@domain,类似于电子邮件地址格式。域用于指示联系人的不同设备或位置。这是可选的。例如,如果在Serv上注册用户

解决方案:
相关资讯:
生鲜企业如何进行直播销售

生鲜企业如何进行直播销售

查看
教育APP直播软件外包发展分析

教育APP直播软件外包发展分析

查看
云宝直播系统源代码构建直播源代码构建定制

云宝直播系统源代码构建直播源代码构建定制

查看
发展教育直播APP的主要原因是什么?

发展教育直播APP的主要原因是什么?

查看
农村直播电商APP将对农业市场产生什么影响?

农村直播电商APP将对农业市场产生什么影响?

查看