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中具有jid / password身份验证和消息传递功能的简单XMPP服务器