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

Developing the XMPP component for XMPPong


As mentioned earlier, the server component for XMPPong will be concerned with managing key aspects of the game: owning the default settings, managing the position of the ball, keeping track of the client's paddle movements, and maintaining the score.

Let's start by editing the Prosody configuration  to support the new XMPPong component . Add the following to the end of the prosody.cfg.lua file (In Ubuntu /etc/prosody/prosody.cfg.lua):

Component "xmppong.localhost"
  component_secret = “mysecretcomponentpassword”

Now let's create the component itself. To get started, create a new project folder and install the node-xmpp-component module:

cd ~ 
mkdir pong-component 
cd pong-component 
npm i node-xmpp-component 

Navigate into the pong-component directory and create a new file called index.js. We're going to start the component with some boilerplate code:

//
// "XMPPong" Server-Side Component
//
const Component = require...