-1

次の機能を備えた RPC 通信を実装する XMPP プロトコルを開発したいと考えています。1.クライアントとサーバー間のセキュリティ認証。

2.Null 値のサポート (null 値をサーバーに送信)

3.任意の値を送信可能(XML-RPCは32bitのみ対応)

4.カスタムでメソッド引数を送信できます。(たとえば、sum(default,4,default) の場合、デフォルト値はサーバーによって選択されます)

5.任意のオブジェクトの場合はエラーを返します

Wokkel ライブラリがこれらすべての機能をサポートしているかどうか、またはこれらの機能をサポートする他のライブラリを知っているかどうかを知りたいです。(例: SleekXMPP または XMPPPY)

4

1 に答える 1

1

この質問には 2 つの部分があるようです。

1) リストされた機能をサポートする既存の XMPP 拡張プロトコルはありますか?

2) Wokkel (または他の Python XMPP ライブラリ) はこれをサポートしていますか?

一般的な RPC 動作の XMPP 拡張プロトコルは、XEP-0009 (Jabber-RPC)XEP-0050 (コマンド)のみです。

XEP-0009 は、XMPP 経由で送信される XML-RPC ペイロードを使用します。しかし、あなたが言及したように、XML-RPC はユースケースに適合しません。

XEP-0050 は、XEP-0004データ フォームを使用して、サーバーとの定義済みコマンド交換を実行します。残念ながら、要件 #2、#3、または #4 には適合しないと思います。

Wokkel は現在どちらもサポートしていませんが、どちらも既存のコードの上に比較的簡単に実装できます。

完全を期すために、要件 1 (クライアントとサーバー間の安全な認証) は、実際の RPC (サブ) プロトコルに関係なく、トランスポートとして XMPP を使用するだけで満たされる必要があります。それに加えて何らかの認証が必要な場合もありますが、それは通常、かなりアプリケーション固有のものです。

要件 5 の文言は不完全に見えますが、XMPP はエラー スタンザのアプリケーション固有のエラー条件をサポートしています。XEP-0060 (パブリッシュ-サブスクライブ) はそれを広範囲に使用します。たとえば、Payload Too Big エラー.

Wokkel は、アプリケーション固有のエラー条件をサポートしています。

于 2015-06-19T07:52:06.557 に答える