Size: a a a

2021 January 14

AK

Alexey Kh in #ctfchat
помимо того, что nonBlocking_stdin оче странная,
источник

AK

Alexey Kh in #ctfchat
ты сам делаешь await reader.readline()
источник

AK

Alexey Kh in #ctfchat
естественно это блокирует выполнение
источник

in #ctfchat
Alexey Kh
ты сам делаешь await reader.readline()
потому что readline() возвращает корутину?
источник

in #ctfchat
иначе нельзя получить инфу с сервака
источник

AK

Alexey Kh in #ctfchat
потому что readline() возвращает корутину?
которую ты сразу же ждешь. потом пытаешься сделать что-то с stdin
источник

in #ctfchat
Alexey Kh
которую ты сразу же ждешь. потом пытаешься сделать что-то с stdin
Ну, да
источник

AK

Alexey Kh in #ctfchat
чего ты хочешь добиться этим кодом?
источник

in #ctfchat
я уже описал 🤔
источник

AK

Alexey Kh in #ctfchat
напиши нормально
источник

in #ctfchat
Должна быть возможность постоянного ввода и возможность постоянного получения сообщений с сервера соответственно
источник

AK

Alexey Kh in #ctfchat
код твой последовательно читает строчку из сокета, потом вызывает странный nonblocking_stdin, результат отправляет обратно в сокет
источник

in #ctfchat
После ввода - отправка на сервер
источник

AK

Alexey Kh in #ctfchat
Должна быть возможность постоянного ввода и возможность постоянного получения сообщений с сервера соответственно
для этого тебе нужно запустить отдельную рутину для этого. и каким-то образом обмениваться данными между ними. то, что ты показал - это фактически симуляция неасинхронного пистона
источник

in #ctfchat
Alexey Kh
код твой последовательно читает строчку из сокета, потом вызывает странный nonblocking_stdin, результат отправляет обратно в сокет
ну, не совсем. Он создает корутину и по идее должен идти дальше, создавая корутину на stdin, ожидая, пока вернется что либо с первой
источник

AK

Alexey Kh in #ctfchat
ну, не совсем. Он создает корутину и по идее должен идти дальше, создавая корутину на stdin, ожидая, пока вернется что либо с первой
не должен, потому что ты делаешь await
источник

AK

Alexey Kh in #ctfchat
await == ожидать завершения этой самой рутины
источник

in #ctfchat
Да и вправду.
Дошло, сяп
источник

AK

Alexey Kh in #ctfchat
Да и вправду.
Дошло, сяп
а зачем тебе вообще пистон?
пиши на го, там адекватнее
по умолчанию все await
а вместо asyncio.ensure_future(f()) там собственно go f()
источник

AK

Alexey Kh in #ctfchat
кстати ты еще вроде await у writer.write забыл
источник