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

Setting up the server


To visualize the stock numbers coming from our pubsub node, we're going to use the real-time charting library Smoothie (http://smoothiecharts.org) and, once again, the XMPP-FTW skeleton project. Let's begin:

cd ~
git clone [email protected]:xmpp-ftw/skeleton-project.git pubsub-example
cd pubsub-example

Before installing all the project dependencies, we're going to change the package.json file. Open the file and remove the line under dependencies for xmpp-ftw-buddycloud (since we won't' be using that module in this project). Once saved, we can install the xmpp-ftwpubsub extension:

npm i .
npm i --save xmpp-ftw-pubsub

Next, we'll update the server so that it only responds to pubsub-related events (although in production we'd want to lock it down further to specific events only). In index.js we're going to clear the default listeners and add our pubsub extension. Open the project's index.js file and where the connection event listener is, we'll update the code to read:

primus...