Wokkel(XMPP Library)是否支持以下功能?

时间:2015-06-19 01:28:58

标签: python xmpp wokkel

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

2.Support Null值(向服务器发送空值)

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

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

5.返回错误,如果,应该是任意对象

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

1 个答案:

答案 0 :(得分: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目前既不支持,也可以在现有代码之上相对容易地实现。

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

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

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