Add how-to-setup-websocket-example.md

This commit is contained in:
retoor 2025-01-21 12:05:05 +00:00
parent a63f334303
commit cbf90dda4d

View File

@ -0,0 +1,44 @@
# Setting up a websocket using Python aiohttp
1. Execute on bash:
```
sudo apt install python3-env python3-pip -y
python -m venv .venv
```
2. Copy the following contents to app.py
```python
from aiohttp import web
app = web.Application()
async def websocket_handler(request):
ws = web.WebSocketResponse()
await ws.prepare(request)
async for msg in ws:
if msg.type == aiohttp.WSMsgType.TEXT:
if msg.data == 'close':
await ws.close()
else:
await ws.send_str(msg.data + '/answer')
elif msg.type == aiohttp.WSMsgType.ERROR:
print('ws connection closed with exception %s' %
ws.exception())
print('websocket connection closed')
return ws
app.router.add_get("/", websocket_handler)
web.run_app(app,host="0.0.0.0", port=7331)
3. Execute application
```bash
source .venv/bin/activate
python app.py
```
or directly without environment active:
```bash
./venv/bin/python app.py
```