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