Как я могу запустить сервер websockets вместе с другой функцией? - PullRequest
0 голосов
/ 29 марта 2020

Я хочу запустить сервер websockets вместе с другой функцией в моей программе, однако, когда я пытаюсь использовать asyncio.gather(), другая функция работает нормально, в то время как сервер websockets закрывается мгновенно, я думаю, что я не могу использовать loop.run_forever(). Мой код выглядит следующим образом:

import asyncio
import websockets

from server import server, game_controller

loop = asyncio.get_event_loop()
tasks = asyncio.gather(
    websockets.serve(server, 'localhost', 5000),
    game_controller()
)

try:
    loop.run_until_complete(tasks)
finally:
    loop.close()

Помещение туда loop.run_forever() при использовании run_until_complete(...server...) работает нормально, но не работает с gather. Я довольно новичок в Asyncio, поэтому я не уверен, как я мог go об этом исправить.

1 Ответ

0 голосов
/ 01 апреля 2020

Нашел проблему, я забыл сделать функцию game_controller() async.

...