为何XMPP?

为何XMPP?

在研究XMPP与红隼利用激励因素是被终止虚拟机的问题不做任何清除或信号,机器将离开泳池。XMPP提供用于肯定是否一个机器被链接到池的基础设施。它也提供了用于共享链接的机器(空闲,忙碌等)的状态的一种机制。html

为研究IM协议的推进力来自读取僵尸网络的一个共同特色是使用IRC用于指挥和控制通讯。web

什么是XMPP?

XMPP表明ê 点¯x tensible 中号 essaging和P resence P rotocol,邮局,它是接受了由IETF在2004年标准(RFC 3920RFC 3921)。安全

实现链接

一般状况下,TCP可用于XMPP客户端和服务器之间的基本链接,但HTTP能够用做阱(BOSH)。因为链接与客户端实体和客户端的客户端链接始发都没有用,NAT穿越是否是一个问题。服务器

安全

XMPP指定实现必须使用TLS和SASL。网络

XML

该协议的工做原理是流两个XML文件发送接收XML节。XML节是一个messagepresenceiq。在messagepresence节有关用户的身份发送任一用户的内容或信息(空闲,忙碌等)。该iq节用于查询使用的get / set操做XMPP服务器。session

该JID

的JID是对于系统中的每一个客户端的标识符和相似电子邮件地址。每一个JID能够由用户名,域和资源。格式为:username@domain/resource。服务器自己能够只用域来处理。由于用户能够具备对服务器在任何给定的时间打开的多个链接,该资源份量被用于区分它们。发送到一条消息username@domain将被发送到来自该用户的全部链接。然而,消息发送到username@domain/resource将只发送到特定链接。架构

服务器联盟

XMPP能够在服务器之间互操做相似于如何SMTP便可。发送给JID在不一样域的消息将被发送到交付该域。app

咱们如何使用XMPP?

XMPP所提供的基础设施已经相匹配的设置,咱们的机库的需求。咱们可使用的JID来标识每一个机器,以及每一个核心若是咱们使用JID资源标识符。装卸机忽然从池中的降低也已经提供给咱们。框架

下一步骤是建立用于实际茶隼应用的架构。有两种方法能够作到这一点:茶隼实现做为XMPP客户端机器人,或者实现红隼做为XMPP服务器组件。在这两种状况下,咱们将有建立的机器上使用一个客户端漫游。dom

客户端BOT只是一个XMPP客户端是一个程序,而不是我的用户。机器人能够发送和接收消息,对他们做出相应的反应。

服务器组件有两种形式:内部和外部。内部组件实际增长的服务器代码自己使用提供的插件API。这样的部件能够由服务器的许可的限制,尤为是当它是GPL的软件。外部组件与服务器分开的程序和使用标准协议(它通讯XEP 0114),所以不依赖于任何特定的服务器实现。

在有实际的业务逻辑方面的客户端漫游和组件之间只有细微的差异。主要的区别是可扩展性 - 组件没有处理名册,这多是资源的大量流失时,名册变大。由于咱们想红隼,以便可以同时管理几千元的机器,使用组件将是实现目标。然而,咱们能够用一个简单的客户端漫游开始到API和后来过渡充实到组件一旦API是更稳定。

可用的实现

有几个可用的XMPP服务器实现,几乎全部的人都在GPL下提供的。最流行 ​​的是jabberd2ejabberd。Jabberd2是用C语言编写,并ejabberd是写在二郎山。Ejabberd是目前最流行 ​​的XMPP服务器实现。

有对XMPP提供(几Python库xmpppyPyXMPP)。Xmpppy是在GPL下提供,并PyXMPP是LGPL下提供的。

此外,扭曲的Python除了与框架Wokkel提供使用MIT许可证的XMPP服务器和客户端库。

资源

相关文章
相关标签/搜索