Book Image

Practical XMPP

By : Steven Watkin, David Koelle
Book Image

Practical XMPP

By: Steven Watkin, David Koelle

Overview of this book

XMPP (eXtensible Messaging and Presence Protocol) is a messaging protocol that enables communication between two or more devices via the Internet. With this book, developers will learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser, as well as starting to explore several of the protocol extensions. You will not only have a solid grasp of XMPP and how it works, but will also be able to use the protocol to build real-world applications that utilize the power of XMPP. By the end of this book, you will know more about networking applications in general, and have a good understanding of how to extend XMPP, as well as using it in sample applications.
Table of Contents (16 chapters)
Practical XMPP
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
An Introduction to XMPP and Installing Our First Server

Making your website real-time


In this section, we're going to look at making a static website real-time. To do this, we'll build both a server-side (publishing) and a client-side (subscribing) system. The server-side publisher will write some fake stock market data to a node (because stock values are the bread and butter of real-time system examples, right?). On the client-side, we'll subscribe, pull some historic data from the node, and then await real-time updates writing them to the screen. By the end of the code, you'll be able to build a really quick, simple, and real-time website to bring the cool to your website.

Configuring Prosody

Once again, we'll need to delve into the Prosody configuration file to set up a pubsub service on our XMPP server. Thankfully, the Prosody team has built a basic pubsub system that we can use in our development (we'll want a full implementation in a production deployment, though).

Fire up your terminal and let's edit the Prosody configuration file (remember...