Wokkel(XMPP 库)是不是支持以下功能?

Posted

技术标签:

【中文标题】Wokkel(XMPP 库)是不是支持以下功能?【英文标题】:Does Wokkel (XMPP Library) support following features?Wokkel(XMPP 库)是否支持以下功能? 【发布时间】:2015-06-19 01:28:57 【问题描述】:

我想开发一个 XMPP 协议来实现具有以下功能的 RPC 通信。 1.客户端和服务器之间的安全认证。

2.支持空值(发送空值到服务器)

3.可以发送任意值(XML-RPC只支持32位)

4.可以通过自定义发送方法参数。(例如 sum(default,4,default) 默认值将由服务器选择)

5.return error if,应该是任意对象

我想知道 Wokkel 库是否支持所有这些功能,或者您是否知道任何其他支持这些功能的库。(例如:SleekXMPP 或 XMPPPY)

【问题讨论】:

【参考方案1】:

这个问题似乎有两部分:

1) 是否存在支持所列功能的现有 XMPP 扩展协议?

2) Wokkel(或可能的其他 Python XMPP 库)是否支持此功能?

通用 RPC 行为的唯一 XMPP 扩展协议是 XEP-0009 (Jabber-RPC) 和 XEP-0050 (Commands)。

XEP-0009 使用通过 XMPP 发送的 XML-RPC 有效负载。但是正如您提到的那样,XML-RPC 不适合您的用例。

XEP-0050 使用XEP-0004 数据形式与服务器执行预定义的命令交换。不幸的是,我认为它不符合您的要求#2、#3 或#4。

Wokkel 目前两者都不支持,但两者都可以在现有代码之上相对轻松地实现。

为了完整起见,无论实际的 RPC(子)协议如何,只要使用 XMPP 作为传输就应该满足您的要求 #1(客户端和服务器之间的安全身份验证)。可能您还需要在此基础上进行一些身份验证,但这通常是特定于应用程序的。

要求#5 的措辞似乎不完整,但XMPP 支持error stanzas 的应用程序特定错误条件。 XEP-0060(发布-订阅)广泛使用它。例如在其Payload Too Big error。

Wokkel 确实支持特定于应用程序的错误条件。

【讨论】:

以上是关于Wokkel(XMPP 库)是不是支持以下功能?的主要内容,如果未能解决你的问题,请参考以下文章

python xmpp wokkel JID转义

asmack vs tigase xmpp 库

Python中具有jid / password身份验证和消息传递功能的简单XMPP服务器

gloox 是不是通过 BOSH 支持 BOSH 和 XMPP?

BOSH XMPP iPhone 库

如何检查服务器是不是支持 xmpp?