An App Engine application can send instant messages to users of XMPP-compliant chat services, including Google Talk and Jabber servers, using the XMPP service.
Each participant in an XMPP communication has an address similar to
an email address, known as a JID. (JID is short for
“Jabber ID,” named after the Jabber project, where XMPP originated.) A JID
consists of a username, an “at” symbol (
@), and the domain
name of the XMPP server. A JID can also have an optional “resource”
string, which is sometimes used to identify specific clients connected to
the service with the username; a message sent to the ID without the
resource goes to all connected clients.
username @ domain / resource
To send a message, a chat participant sends an XMPP message to its own XMPP server. The participant’s chat service contacts the recipient service’s host using the domain name of the JID and a standard port, then delivers the message. If the remote service accepts messages for the JID and someone is connected to the service with a chat client for that JID, the service delivers the message to the client.
Most services, including Google Talk, require that the user has established a previous relationship with a sender before it will route chat messages to the user. The user can establish this relationship with an App Engine app either by sending a chat invitation to the app, or by accepting a chat invitation sent by the app. App Engine applications can send chat invitations as well as ...