我的工作創造了XMPP客戶端測試和我有必要與沿途不同的自定義節上班工作。我有兩個問題,我想知道你們是否可以幫助我:Sleekxmpp:與一個以上的客戶節
- 正如我所提到的,我將使用幾個名字相同但命名空間不同的節。另外這個詩節可以是兩個級別以上的,這裏有一個例子:
STANZA 1
<iq type='result' to= 'chat.com' id='id1'>
<aa xmlns='http://mysite.com/profile' >
<name>My name as included in sent mails<name>
<lang>en</lang>
<mail>My mail as included in sent mails</mail>
<fbuserid>46736473231<fbuserid>
<fbaccesstoken>AAAAA84257YTRRIXTEQITXXTCMTVBTTBXU<fbaccesstoken>
<photo_url>http://pic.facebook.com/photo.jpg</photo_url>
</aa>
</iq>
我創建的自定義節如下:
name = 'aa'
namespace = 'http://mysite.com/profile'
plugin_attrib = 'aa'
interfaces = set(('name', 'lang', 'mail', 'fbuserid', 'fbaccesstoken', 'photo_url'))
sub_interfaces = interfaces
STANZA 2
<iq type='set' to= '[email protected]' id='id1'>
<aa xmlns='http://mysite.com/muc#share'>
<item name='Falda tubo' thumbnail='http://webpage.info/falda_tn.jpg' id='itemid1' action='add' url='http://webpage.info/falda.html’>
<metadata path=' ' />
</item>
</aa>
</iq>
問題1:如何創建兩個以上的升節evels?
正如你所看到的,我節的名稱相同,但改變了命名空間,這是給我一些麻煩,因爲我已經創建的方法如的get_ *和set_ *處理信息,但正在執行它如:
register_stanza_plugin(Iq, stanza_profile) register_stanza_plugin(Iq, stanza_rooms) def start(self, event): self.send_presence() self.get_parameters() self.set_parameters()
這兩個註冊節,但只有在最後一個執行動作(stanza_rooms)
問題2:如何分別處理?
使用python。任何幫助感謝!
最好的問候,
你好蘭斯, 首先,感謝你給的所有幫助。正如你所看到的,我已經加入了sleekxmpp會議室,但看起來我們處於不同的時區,所以很難溝通。通過您提供的幫助以及您和Nathanial創建的一些示例(https://github.com/fritzy/SleekXMPP/wiki/Stanza-Objects),我可以創建節,但我們的習慣節到時候會變得更加棘手,我不太明白。 – BarbSchael
這是帖子的延續: 在這裏,我給你留下了我創建的一個自定義節,而且我不知道我是否做得對。這是我用你的幫助理解的。我提前道歉,如果它看起來一塌糊塗:https://friendpaste.com/3C3JbrHvNfHDdRUZ38aMZG 再次感謝。 – BarbSchael
是的,我注意到時區差異是一個問題。我修改了您的示例,並對我更改的內容以及原因進行了修改:https://friendpaste.com/5OGWZfDN96mjkqrhzAOnLK簡而言之,主要問題僅僅是界面解析衝突以及節註冊調用的語法。 –