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

Maintaining the ball state in the component


As we discussed earlier, the server-side component will maintain the position and direction of the ball. Let's start by bringing in some variables related to the ball that we previously saw in the clients.

Recall that we have these variables to work with:

let ballX, ballY
const ballRadius = 3
let ballHeading; // degrees
let ballSpeed;  // pixels per millisecond

In the version of the code from the last chapter, we maintained two variables, ballDeltaX and ballDeltaY, to indicate the direction of the ball. In this version, we are going to do something slightly different. We will maintain the ball's heading, in radians (with 0 meaning straight to the right and increasing counter-clockwise; a full circle contains 2*PI radians), and the ball's speed. This means that we will need a little basic trigonometry to figure out the ball's updated location when the game loop is run. One reason we did not do this in the client version is that we would...