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

DNS setup and SRV records


Suppose you have a number of services that you want to make available, and you would like each service to have a unique Domain Name System (DNS) entry. To do this, you could establish service records (also known as SRV records) for those services. An SRV record lets you associate the name of a service with the server that provides the service. You may want to set this up for your XMPP services (provided you have a domain name associated with your XMPP server).

An SRV record has the following format, each element separated by a single space:

_servicename._protocol.domainname. TTL IN SRV priority weight port
    target.

Let's describe each of the items:

  • servicename is the name of the given service. For example, xmpp-client and xmpp-server are two service names that most XMPP servers establish by default. Be sure to maintain the initial underscore character.
  • protocol is the name of the transport protocol. You are going to need use TCP here, but UDP is another option...