Многопоточный сервер с использованием библиотеки Python Websockets - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь построить сервер и клиент с помощью библиотеки 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
...