Проблема может быть связана с тем, что буфер записи (write buffer) StreamWriter переполнен, и поэтому запись заблокирована. Чтобы решить эту проблему, можно увеличить размер буфера записи StreamWriter с помощью параметра `high_water`:
writer = await asyncio.open_connection(host, port)
writer = asyncio.StreamWriter(writer, {'high_water': 256*1024}) # устанавливаем размер буфера в 256 КБ
Также может быть полезно использовать метод `can_write()` для проверки, можно ли записать данные в настоящий момент:
while request_screen:
if writer.can_write():
writer.write(b'screenshare')
await writer.drain()
else:
await asyncio.sleep(0.1) # ждем некоторое время, пока буфер записи не освободится
Это заставит цикл ожидать некоторое время, пока буфер записи не освободится, прежде чем продолжать отправку данных.