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

BOSH


Bidirectional-Streams Over Synchronous HTTP, or BOSH (for more information on the specification, visit http://xmpp.org/extensions/xep-0124.html), is the XMPP name for a long polling style of interacting in real time with the browser. It uses or some would say abuses-standard HTTP to expose something akin to two-way real time communication between a client and a server.

BOSH works by opening a connection to the server and sending a stanza wrapped in a <body/> element (if required). The server will then hold open the connection until such time as it has something to send to the client, at which time it will send the stanza (again wrapped) and close the connection. The client will then re-establish a new connection immediately. If, until some predetermined timeout elapses (generally around 60 seconds), there is no stanza to send to the client, then the server will close the connection, again with the client re-establishing a connection immediately.

Each connection has a related...