https://github.com/varun93/wamp-playground
Repository to explore WAMP using autobahn
https://github.com/varun93/wamp-playground
autobahn python wamp wamp-protocol websockets
Last synced: 2 months ago
JSON representation
Repository to explore WAMP using autobahn
- Host: GitHub
- URL: https://github.com/varun93/wamp-playground
- Owner: varun93
- Created: 2019-02-11T17:13:00.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-28T22:30:34.000Z (about 6 years ago)
- Last Synced: 2025-01-05T22:12:31.405Z (4 months ago)
- Topics: autobahn, python, wamp, wamp-protocol, websockets
- Language: Python
- Homepage: https://wamp-proto.org/
- Size: 188 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Exploring Web Application Messaging Protocol
Repository to explore the power of [WAMP](https://wamp-proto.org/) using [autobahn](https://crossbar.io/autobahn/).While struggling to understand the need for WAMP's I stumbled upon [this](https://blog.eduonix.com/web-programming-tutorials/web-application-messaging-protocol/) resource which provides a good inuition for the need for the protocol.
[This](https://crossbario.com/blog/Free-Your-Code-Backends-in-the-Browser/) was quite informative too.We needed to implement a real time communication channel in one of our projects, Websockets was the obvious choice. But websockets operate at a low level, and WAMP offers traditional RPC style communication and Publish Subcribe model of communication with a unified interface which is quite impressive. So all the components in a system can be treated as symmetric. In our case this meant that the RPC abstraction provided by WAMP could enable our Server(in traditional sense) code invoke a client procedure which was not possible in the traditonal RPC.
## Installation
``` pip install -r requirements.txt ```WAMP is built on top of websockets, so it helps to have a reasonable understanding of websockets. Have included a few example programs of the same. The examples **are not my own**, I have taken them from the [official repository](https://github.com/crossbario/autobahn-python/).
Since it involves a fair bit of event driven programming paradigm, I have included a couple of examples of using [Twisted](https://twistedmatrix.com/trac/) also taken from [here](https://autobahn.readthedocs.io/) which demonstrates the usage of Deferred and inlineCallbacks.
```wamp``` would contain examples of using wamp.