Taking things further
In the preceding code, we used our XMPP server to publish real-time data to a pubsub
node, connected as a client from a website, retrieved some historical data, and then received pushed updates (no server polling!).
Once the basic concepts here are understood, we can take things much further with little effort by leveraging more of XMPP. For example, we could update from multiple nodes and subscribe/unsubscribe whilst on a page to different pieces of real-time data while on another page. And how would we know about this data? Well, we'd run a DISCO#items
query against the server to get a list. But what if we wanted to find out about the data each node held? Then we'd run a DISCO#info
query against it and find out the information such a description, what data format it used, and when it was last updated.
With no changes to our code at all, we could also subscribe to nodes on remote servers and start getting pushed updates from those too (although generally we prevent anonymous...