McGeifer / wamplv

WAMP (Web Application Messaging Protocol) LabVIEW library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

https://www.vipm.io/package/samangh_lib_wamplv_wamp_client/badge.svg?metric=installs https://www.vipm.io/package/samangh_lib_wamplv_wamp_client/badge.svg?metric=stars

wamplv

A LabVIEW-based client for the Web Application Messaging Protocol (WAMP). Features:

  • Platform: Windows, Linux, macOS and Real Time targets
  • Roles: caller, callee, subscriber and publisher
  • Transport: WebSocket, RawSocket TCP (including TLS/SSL support for both)
  • Message Serialisation: JSON
  • Authentication: Ticket, WAMP-CRA, WAMP-CRA/PBKDF2

This library will only work on LabVIEW 2020 or later.

The library is designed to give you complete flexibility in how you use WAMP:

  • All actions can be done either synchronously or asynchronously. If an asynchronous VI is used, the result is available via a notifier;
  • Once subscribed to a topic, you can receive the topic publications via either LabVIEW user events or a queue;
  • Once you’ve registered an endpoint, you can receive the invocations via either user events or a queue.

Installation

You can install it using the VI package manager.

wamplv is available on the VIPM Community repository. Alternatively, the VI package is also available to download here.

Quick start

The VIs in the Example folder will show you how to get started.

Important points:

  • The router address must be a fully formed URI, including the port. Some examples:
    • tcp://localhost:8080/
    • tcps://loclhost:8080/
    • ws://localhost:80/
    • ws://localhost:80/ws
    • wss://localhost:80/
  • Call Disconnect.vi at the end of your program to disconnect from the router cleanly.
  • If you have finished using the WAMP client after disconnecting (i.e. will not reconnect), call Cleanup.vi to cleanup any internal DVRs and unregister the user events that wamplv creates.

See the user guide for more details.

License

Licensed under LGPG v2.1 with exceptions. See LICENSE.

About

WAMP (Web Application Messaging Protocol) LabVIEW library

License:Other


Languages

Language:LabVIEW 100.0%