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

Overview of Basic XMPP Pong


With the idea of keeping the end in mind as we get started, Figure 1 shows a picture of our final client-side application. The interaction is, hopefully, intuitive: the player can move their paddle up or down by clicking and dragging the mouse and the ball bounces off the paddles and off the top and bottom walls. If the ball passes a player's paddle, the other player wins a point:

Figure 1. Basic XMPP Pong screenshot

As a player moves their paddle, XMPP messages will be sent to the other player and the graphics will be updated in the other player's game. Each player’s client code will maintain the ball state, which is clearly not an ideal way to run a game.

Since a player can move their own paddle by moving the mouse, and the opposing player’s paddle would be moved by an incoming XMPP message to the first player’s client, there are two ways for the paddles to be updated on the screen, so we’ll need to keep that in mind as we develop this client. In our game, the...