
XMPP: The Definitive Guide
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- XMPP: The Definitive Guide
- A Note Regarding Supplemental Files
- Preface
- Why XMPP?
- Is This Book for You?
- Getting the Most Out of This Book
- Conventions Used in This Book
- About the Examples
- Using Code Examples
- Safari® Books Online
- How to Contact Us
- Acknowledgments
- Peter Saint-Andre
- Kevin Smith
- Remko Tronçon
- I. An Overview of XMPP
- 1. Introduction
- What Can You Do with XMPP?
- Services
- Applications
- Brief History
- Open Source and Open Standards
- Extensibility
- Summary
- 2. Basics of XMPP
- Architecture
- Addresses
- Domains
- Users
- Resources
- Internationalization
- XMPP URIs
- Streaming XML
- Communication Primitives
- Message
- Presence
- IQ
- Extensibility
- Asynchronicity
- Error Handling
- Hello Hello World World: Building a Basic XMPP Application
- Summary
- II. The XMPP Toolkit
- 3. Presence
- Is Anybody Home?
- Authorization Required: The Subscription Handshake
- How Presence Is Propagated
- Availability Status
- Presence Priorities
- Directed Presence
- Going Offline
- Rich Presence
- Presence and Rosters
- Using Presence
- Presence-Based Routing
- Access Control
- Presence As a Transport
- Summary
- 4. Instant Messaging
- I Think, Therefore IM
- Chat Sessions
- Are You There? Chat State Notifications
- Looks Matter: Formatted Messages
- Who Are You? vCards
- Talk to the Hand: Blocking and Filtering Communication
- Blocking: The Simple Approach
- Advanced Blocking and Filtering
- More Messaging Extensions
- Summary
- 5. Discovering the World
- Items and Info
- Using Service Discovery with Servers and Services
- Using Service Discovery with Clients
- Explicit Service Discovery
- Entity Capabilities: Service Discovery Shorthand
- Summary
- 6. Data Forms
- Basic Structure
- Using Data Forms
- Defining Your Terms: Form Types
- Including Media in Data Forms
- Summary
- 7. Multi-Party Interactions
- Starting the Party
- Groupchat Basics
- Crowd Control
- What's in a Nick?
- Configure This!
- Privacy, Security, and All That Jazz
- MUC As a Data Transport
- Summary
- 8. Publish/Subscribe
- Why It Matters
- Quickstart
- Subscriptions
- Publishing and Receiving Notifications
- Payloads: To Send or Not to Send?
- Items: To Store or Not to Store?
- Discovering Nodes
- Node Management
- Creating and Deleting Nodes
- Node Configuration
- Managing Node Access
- Item Aggregation via Collection Nodes
- Personal Eventing: PubSub Simplified
- Summary
- 9. Jingle: Jabber Does Multimedia
- To Instant Messaging and Beyond
- The Jingle Model
- Making a Call
- A Swarm of NATs
- Jingle on ICE
- Additional Jingle Actions
- Summary
- 10. Sending Binary Data
- Starting Small: Bits of Binary
- Moving On Up: Transferring Midsize Files In-Band
- Thinking Big: Sending Large Files Out-of-Band
- Sending Data Directly
- Sending Data Through a Proxy
- Negotiating File Transfer
- File Transfer Using Stream Initiation
- Session Negotiation Using Jingle
- Summary
- 11. Remote Commands
- Controlling Clients
- A Simple Command
- Commands and Data Forms
- Providing Custom Commands
- Advanced Workflows: SOAP, RPC, IO Data
- Summary
- 12. Connection Methods and Security
- Negotiating an XMPP Stream
- Authentication Options
- Encrypting the Connection
- Server Federation
- Server Components
- BOSH: XMPP over HTTP
- Serverless Messaging
- XMPP Security
- Encryption
- Authentication and Identity
- Spam and Abuse
- Summary
- III. Putting It All Together
- 13. Design Decisions
- Is XMPP the Right Choice?
- How the XMPP Community Works
- Writing XMPP Software
- Mixing, Matching, and Extending Existing XMPP Software
- Client Extension, Bot, Component, or Server Module?
- Rolling Your Own Client or Server
- Extending XMPP
- How to Design Custom Extensions
- Standardizing New Extensions
- Summary
- 14. Building an XMPP Application
- The CheshiR Microblogging Platform
- First Sprint: The CheshiR XMPP IM Bot
- Analysis
- Design
- Coding
- Second Sprint: Configuring the CheshiR XMPP IM Bot
- Analysis
- Design
- Coding
- Third Sprint: Scaling the CheshiR XMPP Service Using a Server Component
- Analysis
- Design
- Coding
- Fourth Sprint: Registering with the CheshiR Server Component
- Analysis
- Design
- Coding
- Fifth Sprint: Extending the Server Component with Rosters
- Analysis
- Design
- Coding
- Future Sprints
- A CheshiR Server Module or Dedicated Server?
- Summary
- IV. Appendixes
- A. A Guide to XMPP Specifications
- XMPP RFCs
- XMPP Extension Protocols
- Humorous XEPs
- XMPP Compliance Suites
- B. Popular Servers, Clients, and Libraries
- Servers
- Clients
- Cross-Platform (Linux, Mac OS X, Windows)
- Linux
- Mac OS X
- Windows
- Web Browsers
- Libraries
- ActionScript
- C
- C++
- C#
- Flash
- Java
- JavaScript
- Perl
- PHP
- Python
- Ruby
- C. Further Practical Considerations
- Getting Started
- Debugging Tools
- Network Setup
- Glossary
- Bibliography
- Index
- About the Authors
- Colophon
- Copyright
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.