add python test file to benchmark how many messages can be received per second
This commit is contained in:
parent
831152b906
commit
74d3278258
44
test/compatibility/python/websockets/devnull_client.py
Normal file
44
test/compatibility/python/websockets/devnull_client.py
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
# websocket send client
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import asyncio
|
||||||
|
import websockets
|
||||||
|
|
||||||
|
try:
|
||||||
|
import uvloop
|
||||||
|
uvloop.install()
|
||||||
|
except ImportError:
|
||||||
|
print('uvloop not available')
|
||||||
|
pass
|
||||||
|
|
||||||
|
msgCount = 0
|
||||||
|
|
||||||
|
async def timer():
|
||||||
|
global msgCount
|
||||||
|
|
||||||
|
while True:
|
||||||
|
print(f'Received messages: {msgCount}')
|
||||||
|
msgCount = 0
|
||||||
|
|
||||||
|
await asyncio.sleep(1)
|
||||||
|
|
||||||
|
|
||||||
|
async def client(url):
|
||||||
|
global msgCount
|
||||||
|
|
||||||
|
asyncio.ensure_future(timer())
|
||||||
|
|
||||||
|
async with websockets.connect(url) as ws:
|
||||||
|
async for message in ws:
|
||||||
|
msgCount += 1
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser(description='websocket proxy.')
|
||||||
|
parser.add_argument('--url', help='Remote websocket url',
|
||||||
|
default='wss://echo.websocket.org')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
asyncio.get_event_loop().run_until_complete(client(args.url))
|
Loading…
Reference in New Issue
Block a user