sockserv.py


1
#!/usr/bin/env python
2
3
# https://websockets.readthedocs.io/en/stable/intro.html#browser-based-example
4
5
# simple slider example with socket server
6
7
import asyncio
8
import json
9
import websockets
10
11
async def receiver(websocket, path):
12
    try:
13
        message=await websocket.recv()
14
        async for message in websocket:
15
            data = json.loads(message)
16
            if data["action"] == "slider1":
17
                print('slider received')
18
                print(data)
19
                val=data['value']
20
                
21
                msg2browser = json.dumps({"type": "slider1", "value": val})
22
                await websocket.send(msg2browser)
23
24
            else:
25
                logging.error("unsupported event: %s", data)
26
    finally:
27
      print("error: nothing received")
28
29
30
start_server = websockets.serve(receiver, "localhost", 6789)
31
32
asyncio.get_event_loop().run_until_complete(start_server)
33
asyncio.get_event_loop().run_forever()