dart_nats 0.1.0+1 copy "dart_nats: ^0.1.0+1" to clipboard
dart_nats: ^0.1.0+1 copied to clipboard

outdated

A Dart client for the NATS messaging system. It's simple. Design to use with flutter easy to write no need to deal with complex asynchronous.

Dart-NATS #

A Dart client for the NATS messaging system. It's simple. Design to use with flutter easy to write no need to deal with complex asynchronous.

Dart Examples: #

Run the example/main.dart:

dart example/main.dart
import 'package:dart_nats/dart_nats.dart';

void main() async {
  var client = Client();
  client.connect('localhost');
  var sub = client.sub('subject1');
  await Future.delayed(Duration(seconds: 1));
  client.pub('subject1', 'message1');
  var msg = await sub.stream.first;

  print(msg);
  client.unSub(sub);
  client.close();
}

Flutter Examples: #

Step 1 declare object

  nats.Client natsClient;
  nats.Subscription fooSub, barSub;

Step 2 simply connect to server and subscribe to subject

  void connect() {
    natsClient = nats.Client();
    natsClient.connect('demo.nats.io');
    fooSub = natsClient.sub('foo');
    barSub = natsClient.sub('bar');
  }

Step 3 Use as Stream in StreamBuilder

          StreamBuilder(
            stream: fooSub.stream,
            builder: (context, AsyncSnapshot<nats.Message> snapshot) {
              return Text(snapshot.hasData ? '${snapshot.data}' : '');
            },
          ),

Step 4 dispose

  void dispose() {
    natsClient.close();
    super.dispose();
  }

Full Flutter sample code example/flutter/main.dart:

dart example/flutter/main.dart

Done #

  • Connect to NATS Server
  • Basic sub and pub
  • Reconnect to single server when connection lost and resume subscription

Todo #

  • Reply to
  • Connect to cluster
  • authentication
32
likes
0
pub points
85%
popularity

Publisher

unverified uploader

A Dart client for the NATS messaging system. It's simple. Design to use with flutter easy to write no need to deal with complex asynchronous.

Homepage

License

unknown (license)

More

Packages that depend on dart_nats