msgpack rpc over websocket
Project description
websocket-rpc
msgpack rpc over websocket
Examples
server:
import asyncio
from sanic import Sanic
from wsrpc import WebsocketRPC
app = Sanic(__name__)
class SampleHandler:
def __init__(self, rpc):
self.remote = rpc
async def add(self, a, b):
await asyncio.sleep(5)
return a + b
async def test(self):
return 23
@app.websocket('/')
async def home(request, ws):
await WebsocketRPC(ws, SampleHandler).run()
app.run(host="0.0.0.0", port=5555, debug=False)
client:
import asyncio
import websockets
from wsrpc import WebsocketRPC
loop = asyncio.get_event_loop()
async def go():
async with websockets.connect('ws://127.0.0.1:5555/') as ws:
rpc = WebsocketRPC(ws=ws, client_mode=True)
jobs = [rpc.request.add(a, b) for a, b in zip(range(10), range(5, 15))]
r = await asyncio.gather(*jobs)
print(r)
r = await rpc.notify.add(2, 3)
print(r)
await rpc.close()
loop.run_until_complete(go())
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
websocket-rpc-0.0.6.tar.gz
(3.6 kB
view details)
Built Distribution
File details
Details for the file websocket-rpc-0.0.6.tar.gz
.
File metadata
- Download URL: websocket-rpc-0.0.6.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed5e0a9171adabf9886fe4d696ad7c73a4d1904503f0c369e64cca3e406f1cc0 |
|
MD5 | 3cd71542c9ec2982735af9e812543d29 |
|
BLAKE2b-256 | 8151ac1daec450baa00a0424d8932dd1234197e6aca95736e92e3a415b07d7bc |
File details
Details for the file websocket_rpc-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: websocket_rpc-0.0.6-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07ac4a9652877bedcd37e0525d5a7b8a82693b84791b1e19844cea1987c3db7a |
|
MD5 | bbd9228462aa8a06cb9e99b55d7224b2 |
|
BLAKE2b-256 | 6ef261547bfa713bdbd7d1a06394877e456c177b809819f0ea982fbce7555dc0 |