Я пытаюсь построить сервер и клиент с помощью библиотеки Python Websockets. Я следую приведенному здесь примеру: Python O CPP Документация . Я хочу отредактировать этот пример так, чтобы для каждого нового клиента (Charge Point) сервер (центральная система) работал в новом потоке (или новом l oop, поскольку библиотека Websockets использует asyncio Python). В основном я хочу получать сообщения от нескольких клиентов одновременно. Я изменил основной метод сервера (Центральная система) из примера, которым я следовал, например, добавив параметр al oop в websockets.serve () в надежде, что всякий раз, когда запускается новый клиент, он запускается на другом сервере. oop:
async def main():
server = await websockets.serve(
on_connect,
'0.0.0.0',
9000,
subprotocols=['ocpp2.0'],
ssl=ssl_context,
loop=asyncio.new_event_loop(),
ping_timeout=100000000
)
await server.wait_closed()
if __name__ == '__main__':
asyncio.run(main())
Я получаю следующую ошибку. Пожалуйста, помогите:
RuntimeError:
Task <Task pending coro=<main() running at server.py:36>
cb=_run_until_complete_cb() at /usr/lib/python3.7/asyncio/base_events.py:153]>
got Future <_GatheringFuture pending> attached to a different loop - sys:1:
RuntimeWarning: coroutine 'BaseEventLoop._create_server_getaddrinfo' was never awaited