1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-10 18:15:58 +01:00
Smack/documentation/overview.md
Florian Schmaus 5db6191110 Introduce StanzaBuilder
As first step to immutable Stanza types.
2019-10-25 21:41:55 +02:00

1.9 KiB

Smack Overview

Back

Smack is a library for communicating with XMPP servers to perform real-time communications, including instant messaging and group chat.

Smack Key Advantages

  • Extremely simple to use, yet powerful API. Sending a text message to a user can be accomplished in only a few lines of code:

    AbstractXMPPConnection connection = new XMPPTCPConnection("mtucker", "password", "jabber.org");
    connection.connect().login();
    
    Message message = connection.getStanzaFactory()
                      .buildMessageStanza()
                      .to("jsmith@jivesoftware.com")
                      .setBody("Howdy! How are you?")
                      .build();
    connection.sendStanza(message);
    
  • Doesn't force you to code at the XMPP protocol level, as other libraries do. Smack provides intelligent higher level constructs such as the Chat and Roster classes, which let you program more efficiently.

    • Does not require that you're familiar with the XMPP XML format, or even that you're familiar with XML.
    • Provides easy machine to machine communication. Smack lets you set any number of properties on each message, including properties that are Java objects.
    • Open Source under the Apache License 2.0, which means you can incorporate Smack into your commercial or non-commercial applications.

About XMPP

XMPP (eXtensible Messaging and Presence Protocol) is an open protocol standardized by the IETF and supported and extended by the XMPP Standards Foundation (XSF, http://www.xmpp.org).

How To Use This Documentation

This documentation assumes that you're already familiar with the main features of XMPP instant messaging. It's also highly recommended that you open the Javadoc API guide and use that as a reference while reading through this documentation.

Copyright (C) Jive Software 2002-2008