connectanum 1.0.0-dev.8 copy "connectanum: ^1.0.0-dev.8" to clipboard
connectanum: ^1.0.0-dev.8 copied to clipboard

outdated

This is a WAMP client (Web Application Messaging Protocol) implementation for the dart language and flutter projects.

example/main.dart

import 'package:connectanum/connectanum.dart';
import 'package:connectanum/json.dart';

void main() async {
  // Start a client that connects without the usage of an authentication process
  final client1 = Client(
      // The realm to connect to
      realm: "demo.connectanum.receive",
      // We choose WebSocket transport
      transport: WebSocketTransport(
        "wss://www.connectanum.com/wamp",
        new Serializer(),
        WebSocketSerialization.SERIALIZATION_JSON,
      ));
  Session session1;
  try {
    // connect to the router and start the wamp layer
    session1 = await client1.connect();
    // register a method that may be called by other clients
    final registered = await session1.register("demo.get.version");
    registered
        .onInvoke((invocation) => invocation.respondWith(arguments: ["1.1.0"]));
    // subscribe to a topic that my be published by other clients
    final subscription = await session1.subscribe("demo.push");
    subscription.eventStream.listen((event) => print(event.arguments[0]));
  } on Abort catch (abort) {
    // if the serve does not allow this client to receive a session
    // the server will cancel the initializing process with an abort
    print(abort.message.message);
  }

  final client2 = Client(
      realm: "demo.connectanum.receive",
      transport: WebSocketTransport(
        "wss://www.connectanum.com/wamp",
        new Serializer(),
        WebSocketSerialization.SERIALIZATION_JSON,
      ));
  try {
    final session2 = await client2.connect();
    // call session 1 registered method and print the result
    session2
        .call("demo.get.version")
        .listen((result) => print(result.arguments[0]));
    // push a message to session 1
    await session2.publish("demo.push", arguments: ["This is a push message"]);
    // close both clients after everything is done
    session1.close();
    session2.close();
  } on Abort catch (abort) {
    print(abort.message.message);
  }
}
9
likes
0
pub points
68%
popularity

Publisher

verified publisherdart.konsultaner.de

This is a WAMP client (Web Application Messaging Protocol) implementation for the dart language and flutter projects.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

logging, pointycastle, saslprep

More

Packages that depend on connectanum