Skip to content

Latest commit

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

#Ripple

Lightweight Dart messaging server; supporting STOMP messaging protocol.

See also Stomp Dart Client.

Build Status

##Installation

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

dependencies:
ripple:

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

pub install

##Usage

First, you have to import:

import "package:ripple/ripple.dart";

Then, you can start Ripple server by binding it to any number of Internet addresses and ports.

new RippleServer()
..start() //bind to port 61626
..startSecure(); //bind to port 61627 and using SSL

For how to use a STOMP client to access Ripple server, please refer to STOMP Dart Client.

###WebSocket

You can have Ripple server to serve a WebSocket connection. For example,

HttpServer httpServer;
RippleServer rippleServer;
...
httpServer.listen((request) {
if (...) { //usually test request.uri to see if it is mapped to WebSocket
WebSocketTransformer.upgrade(request).then((WebSocket webSocket) {
rippleServer.serveWebSocket(webSocket);
}).catchError((ex) {
// Handle error
});
} else {
// Do normal HTTP request processing.
}
});

##Limitations

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

##Incompleteness

  • Transaction not supported.
  • Heart beat not supported.
  • ACK and NACK not supported.

##Potential Enhancement

  • Support subscribeBlob() better. Currently, messages will be held in the memory before sending to subscribers. It could be an issue if the message is huge.

About

Lightweight Dart messaging server; supporting STOMP messaging protocol.

Resources

Stars

11 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages