summaryrefslogtreecommitdiff
path: root/resources/external/websocket_test.py
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2025-08-11 22:42:00 -0700
committerAnson Bridges <bridges.anson@gmail.com>2025-08-11 22:42:00 -0700
commitd558a9add0e183219a7a9ff482807bdcd677e21a (patch)
tree49e454649a4b45ce02c419894109de55f7f2e465 /resources/external/websocket_test.py
Initialize repo from local files
Diffstat (limited to 'resources/external/websocket_test.py')
-rw-r--r--resources/external/websocket_test.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/resources/external/websocket_test.py b/resources/external/websocket_test.py
new file mode 100644
index 0000000..9c29fcf
--- /dev/null
+++ b/resources/external/websocket_test.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+"""Echo server using the asyncio API."""
+
+import asyncio
+from websockets.asyncio.server import serve
+
+DEFAULT_PORT = 8181
+DEFAULT_IP = "127.0.0.1"
+
+
+async def echo(websocket):
+ print("client connected")
+ async for message in websocket:
+ await websocket.send(message)
+
+
+async def main(ip, port):
+ async with serve(echo, ip, port) as server:
+ print("serving...")
+ await server.serve_forever()
+
+
+if __name__ == "__main__":
+ IP = DEFAULT_IP
+ PORT = DEFAULT_PORT
+ args = sys.argv[1:]
+ for arg_i in range(len(args)):
+ if args[arg_i] == "-ip" and arg_i < (len(args)-1):
+ arg_i += 1
+ IP = args[arg_i]
+ if args[arg_i] == "-port" and arg_i < (len(args)-1):
+ arg_i += 1
+ try:
+ PORT = int(args[arg_i])
+ except:
+ print("Port must be an integer.")
+ return
+
+ asyncio.run(main(IP, PORT)) \ No newline at end of file