All Projects → rikulo → stomp

rikulo / stomp

Licence: other
STOMP Dart Client for communicating with STOMP-compliant messaging servers.

Programming Languages

dart
5743 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language
sed
78 projects
HTML
75241 projects

STOMP Dart Client

STOMP Dart client for communicating with STOMP complaint messaging brokers and servers.

Stomp Dart Client is distributed under an Apache 2.0 License.

Build Status

See also Ripple - Lightweight Dart Messaging Server.

Installation

Add this to your pubspec.yaml (or create it):

dependencies:
  stomp:

Then run the Pub Package Manager (comes with the Dart SDK):

pub install

Usage

Running on Dart VM

import "package:stomp/stomp.dart";
import "package:stomp/vm.dart" show connect;

void main() {
  connect("foo.server.com").then((StompClient client) {
    client.subscribeString("/foo",
      (Map<String, String> headers, String message) {
        print("Recieve $message");
      });

    client.sendString("/foo", "Hi, Stomp");
  });
}

There are basically a few alternative ways to communicate:

  • JSON objects: sendJson() and subscribeJson()
  • Strings: sendString() and subscribeString()
  • Bytes: sendBytes() and subscribeBytes()
  • BLOB (huge data): sendBlob() and subscribeBlob()

Please refer to StompClient for more information.

Running on Browser

The same as the above, except import websocket.dart instead of vm.dart:

import "package:stomp/stomp.dart";
import "package:stomp/websocket.dart" show connect;

//the rest is the same as running on Dart VM

Limitations

  • Support STOMP 1.2 or above
  • Support UTF-8 encoding

Incompleteness

  • Heart beat not supported.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].