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.
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.
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.
Licensed under LGPG v2.1 with exceptions. See LICENSE.