Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. import websockets
  2. import asyncio
  3. import datetime
  4. import random
  5.  
  6. async def handler(websocket, path):
  7.  
  8. while True:
  9. now = datetime.datetime.utcnow().isoformat() + 'Z'
  10. await websocket.send(now)
  11. await asyncio.sleep(random.random() * 3)
  12. while True:
  13. message = await websocket.recv()
  14. await consumer(message)
  15. return message
  16. consumer_task = asyncio.ensure_future(consumer_handler(websocket))
  17. producer_task = asyncio.ensure_future(producer_handler(websocket))
  18. done, pending = await asyncio.wait(
  19. [consumer_task, producer_task],
  20. return_when=asyncio.FIRST_COMPLETED,
  21.  
  22. )
  23.  
  24. for task in pending:
  25. task.cancel()
  26.  
  27. print(message)
  28.  
  29.  
  30. start_server = websockets.serve(handler, '127.0.0.1', 5678)
  31.  
  32. asyncio.get_event_loop().run_until_complete(start_server)
  33. asyncio.get_event_loop().run_forever()
  34. print(message)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement