Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import websockets
- import asyncio
- import datetime
- import random
- async def handler(websocket, path):
- while True:
- now = datetime.datetime.utcnow().isoformat() + 'Z'
- await websocket.send(now)
- await asyncio.sleep(random.random() * 3)
- while True:
- message = await websocket.recv()
- await consumer(message)
- return message
- consumer_task = asyncio.ensure_future(consumer_handler(websocket))
- producer_task = asyncio.ensure_future(producer_handler(websocket))
- done, pending = await asyncio.wait(
- [consumer_task, producer_task],
- return_when=asyncio.FIRST_COMPLETED,
- )
- for task in pending:
- task.cancel()
- print(message)
- start_server = websockets.serve(handler, '127.0.0.1', 5678)
- asyncio.get_event_loop().run_until_complete(start_server)
- asyncio.get_event_loop().run_forever()
- print(message)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement