2人のクライアントがSmack(Scala/Java)でプログラミングされたボットと(2)strophe(Javascript)でプログラミングされたGUIチャットクライアントと対話するXMPPアプリケーションがあります。XMPPでカスタムXML要素を交換する最も良い方法は?
アプリは(以下に示すように、例えば、)カスタムXMLを交換する必要が
<myPacket>
<response type='sensorData'>
<temperature units='Kelvin'>
234
</temperature>
</response>
</myPacket>
データを交換するための最良の方法は何ですか? 、ピシャリについて))
3)
1カスタムXMPPは
2をスタンザ書く)メッセージまたはIQで現在定義されているスタンザ(例えば、中に私のXMLを埋め込む:以下は、私が思い付くことができるものですuse the Message.get(set)Property
to read/write custom data。
3)は、両方のクライアントがJavaオブジェクトを理解し、同じライブラリ(Smack)を使用する必要があるため、除外されます。
同じ問題に対処する他の質問をしてください。
[編集:]いくつかの調査を行った後、あなたのライブラリがサポートしていれば、Dataforms(XEP-0004)が最も簡単な方法です。
それぞれのXMPPスタンザの子要素である 子要素を独自の名前空間で使用して、クライアントからカスタムXMLデータを送信します。例えば。 = "client @ localhost" ..... ... からの "bot @ localhost"そのようなスタンザは、他の設定が必要なく、クライアントのボットによって受け取られます。 –
コメントありがとうございます。私は結局、 子要素をdataformsで使用することに決めました。 –
Jus12
私はdataforms(XEP-004)が完全にうまくいっていないという難しい方法を見つけました。独自のエンコーディング(メッセージ・スタンザ内のJSONなど)を使用する方がよいでしょう。これが私たちがどこでもやり遂げたことです。 – Jus12