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

Issues with a basic implementation


Remember bot@localhost? Fire up Empathy and log in with the JID bot@localhost and password tellnoone. As Marty and Jennifer are passing the ball to each other, bot@localhost could send the hello message to either player an hijack a place in the game! While this might be interesting, this is not the kind of behavior we would hope to see in a more advanced application that uses XMPP. Instead, we would want to make sure someone like bot can't inject themselves into the game (I'll bet you could make bot change one of the player's paddle positions). We wouldn't want game control messages and chat messages to be shown in the same chat window although one thing we could do is enable chat in XMPPong 

In the following chapter, we are going to address these issues. We will look into employing custom namespaces, creating a server-side component that can help prevent cheating. We will even keep track of wins and losses and create a leaderboard of the best players. For...