0
点赞
收藏
分享

微信扫一扫

smack library for XMPP 留作备用没研究过

茗越 2023-06-21 阅读 18


ConfigureForm form = new ConfigureForm(FormType.submit); 
form.setPersistentItems(false); 
form.setDeliverPayloads(true); 
form.setAccessModel(AccessModel.open); 
 
PubSubManager manager  
      = new PubSubManager(connection, "pubsub.communitivity.com"); 
Node myNode = manager.createNode("http://jabber.org/protocol/geoloc", form); 
 
StringBuilder body = new StringBuilder(); //ws for readability 
body.append("<geoloc xmlns='http://jabber.org/protocol/geoloc' xml:lang='en'>"); 
body.append("   <country>Italy</country>"); 
body.append("   <lat>45.44</lat>"); 
body.append("   <locality>Venice</locality>"); 
body.append("   <lon>12.33</lon>"); 
body.append("   <accuracy>20</accuracy>"); 
body.append("</geoloc>"); 
 
SimplePayload payload = new SimplePayload( 
                              "geoloc", 
                              "http://jabber.org/protocol/geoloc",  
                              body.toString()); 
String itemId = "zz234"; 
Item<SimplePayload> item = new Item<SimplePayload>(itemId, payload); 
 
// Required to recieve the events being published 
myNode.addItemEventListener(myEventHandler); 
 
// Publish item 
myNode.publish(item);

Or at least that's the hard way :). Just remembered there's a PEPManager now...

PEPProvider pepProvider = new PEPProvider(); 
pepProvider.registerPEPParserExtension( 
    "http://jabber.org/protocol/tune", new TuneProvider()); 
ProviderManager.getInstance().addExtensionProvider( 
   "event",  
   "http://jabber.org/protocol/pubsub#event", pepProvider); 
Tune tune = new Tune("jeff", "1", "CD", "My Title", "My Track"); 
pepManager.publish(tune);

http://www.igniterealtime.org/fisheye/browse/~raw,r=11613/svn-org/smack/trunk/documentation/extensions/pubsub.html.

developer forum

svn.igniterealtime.org/svn/repos/smack/trunk smack

igniterealtime.org/fisheye/viewrep/svn-org/smack

举报

相关推荐

0 条评论