EchoX
EchoX is a lightweight and pure Dart library that allows you to connect to XMPP (Extensible Messaging and Presence Protocol) servers. This package provides a range of fundamental functionalities for XMPP communication. And is built on top of the popular Strophe.js library, providing a streamlined and efficient solution for XMPP communication in Dart applications.
XMPP
XMPP is an open source standart protocol widely used for real-time communication, enabling features such as instant messaging, presence information, and contact list management. With this package, you can easily integrate XMPP capabilities into your Dart & Flutter applications, facilitating secure communication between users.
Features
WebSocket Connectivity: EchoX establishes connections to XMPP servers exclusively over the WebSocket protocol, ensuring efficient and reliable communication.
Authentication Mechanisms: Provides support for various XMPP authentication mechanisms, including SASL SCRAM with encryption options such as SHA-1, SHA-256, SHA-384, SHA-512, XOAUTH-2, OAUTHBEARER, Anonymous, and EXTERNAL.
While support for these mechanisms are available, only SHA-1, PLAIN, and SHA-256 have been tested thoroughly.
Fundamental Functionalities: EchoX provides a set of fundamental functionalities, including sending and retrieving messages, presence management, roster management, and more.
Pure Dart implementation: Written in pure Dart, enabling easy integration with Dart and Flutter projects.
Lightweight: EchoX is designed to be lightweight, providing a streamlined solution for XMPP connectivity without unnecessary dependencies or overhead.
API
This code snippet demonstrates how to establish a connection using the EchoX
package.
import 'package:echox/echox.dart';
void main() async {
final echox = EchoX(
service: 'ws://example.com:port/ws',
jid: JabberID(
'user',
domain: 'localhost',
resource: 'mobile',
),
password: 'somepsw',
);
debug(echox);
echox.connect();
}
Contributing to EchoX
We welcome and appreciate contributions from the community to enhance the EchoX
. If you have any improvements, bug fixes, or new features to contribute, you can do so by creating a pull request.
Libraries
- echox
- Serves as the foundation for establishing and managing XMPP (Extensible Messaging and Presence Protocol) connections.