为什么XMPP?

为什么XMPP?

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

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

什么是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服务器。

该JID

的JID是对于系统中的每个客户端的标识符和类似电子邮件地址。每个JID可以由用户名,域和资源。格式为:username@domain/resource。服务器本身可以只用域来处理。因为用户可以具有对服务器在任何给定的时间打开的多个连接,该资源分量被用于区分它们。发送到一条消息username@domain将被发送到来自该用户的所有连接。然而,消息发送到username@domain/resource将只发送到特定连接。

服务器联盟

XMPP可以在服务器之间互操作类似于如何SMTP即可。发送给JID在不同域的消息将被发送到交付该域。

我们如何使用XMPP?

XMPP所提供的基础设施已经相匹配的设置,我们的机库的需求。我们可以使用的JID来标识每个机器,以及每个核心如果我们使用JID资源标识符。装卸机突然从池中的下降也已经提供给我们。

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

客户端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服务器和客户端库。

资源

转载于:https://my.oschina.net/vdroid/blog/738338

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值