-1

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

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

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

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

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

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

4

1 回答 1

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 目前都不支持,但两者都可以在现有代码之上相对容易地实现。

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

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

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

于 2015-06-19T07:52:06.557 回答