Не могу получить все данные с сервака в клиенте

Учусь писать простой сервер и клиент на python3. Пишут с помощью websoket. Но после отправки первого сообщения - клиент перестаёт получать данные, хотя сервер их отправляет, и клиент прекращает работу. Данные берутся с сервера с MySQL, затем получаются серваком и перенаправляются на клиент. Как исправить эту проблему?

КОД

Сервер:

import asyncio # Библиотека стандартной архитектуры асинхронного ввода - вывода в Python
import websockets
import pymysql

async def hello(websocket, path): # На стороне сервера websocket выполняет 
    # сопрограмму обработчика hello один раз для каждого соединения
    ask = await websocket.recv()
    if ask == "Yes":
        con = pymysql.connect(host='ip', user='user', 
            password='pass', db='db')
        with con:
            cur = con.cursor()
            cur.execute("SELECT * FROM users")
            greeting = cur.fetchall()
            for i in greeting:
                res = ''
                for k in i:
                    res = res + str(k) + " "
                await websocket.send(res)
                print(f"> {res}") # f - Форматирование строкового литерала

start_server = websockets.serve(hello, "localhost", 8765)

asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

Клиент:

import asyncio
import websockets

async def hello():# На стороне клиента websocket выполняет 
    # сопрограмму обработчика hello один раз для каждого соединения
    uri = "ws://localhost:8765" # URL ресурсавеб-сокета использует собственную схему начиная с 
    # ws  или wss для безопасного подключения
    async with websockets.connect(uri) as websocket:
        name = input("Вы хотите получить данные? Ответьте Yes или No: ")

        await websocket.send(name)
        print(f"> {name}") # f - Форматирование строкового литерала


        greeting = await websocket.recv()
        print(f"< {greeting}")

asyncio.get_event_loop().run_until_complete(hello())

Ответы (1 шт):

Автор решения: For i in bugs...

В коде сервера нет цикла. Корутина hello выполняется 1 раз через
start_server = websockets.serve(hello, "localhost", 8765) asyncio.get_event_loop().run_until_complete(start_server) Строка asyncio.get_event_loop().run_forever() здесь бесполезна. Делай цикл!

→ Ссылка