mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 02:30:35 +00:00
3e3ee9e6f5
- ssl module requires an explicit TLS_SERVER role - asyncio throws a deprecation warning when using asyncio.get_event_loop(). Remove custom event loop handling entirely - No need to keep the websocket server in a member variable, can use a future to signal exit case along with the async with context manager of websockets.serve() Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2711> |
||
---|---|---|
.. | ||
Dockerfile | ||
generate_cert.sh | ||
meson.build | ||
Protocol.md | ||
README.md | ||
room-client.py | ||
session-client.py | ||
simple_server.py |
Overview
Read Protocol.md
Dependencies
- Python 3
- pip3 install --user websockets
Example usage
For dev usage, generate a self-signed certificate and run the server:
$ ./generate_cert.sh
$ ./simple_server.py
If you want to use this server from the browser (to use the JS example, for
instance), you will need to go to https://127.0.0.1:8443
and accept the
self-signed certificate. This step is not required if you will be deploying on
a server with a CA-signed certificate, in which case you should use
./simple_server.py --cert-path <cert path>
.
Session Based
In two new consoles, run these two commands:
$ ./session-client.py
Our uid is 'ws-test-client-8f63b9'
$ ./session-client.py --call ws-test-client-8f63b9
Room Based
Or, if you want to test rooms, run these two in two new consoles:
$ ./room-client.py --room 123
Our uid is 'ws-test-client-bdb5b9'
Got ROOM_OK for room '123'
$ ./room-client.py --room 123
Our uid is 'ws-test-client-78b59a'
Got ROOM_OK for room '123'
Sending offer to 'ws-test-client-bdb5b9'
Sent: ROOM_PEER_MSG ws-test-client-bdb5b9 {"sdp": "initial sdp"}
Got answer from 'ws-test-client-bdb5b9': {"sdp": "reply sdp"}
You will see similar output with more clients in the same room.