Всем привет!
Есть listener (горутина) , который слушает соединение с клиентом
В ней есть такое:
var buffer = make([]byte, 1024)
for {
bytesRead, err := conn.Read(buffer)
if err != nil {
conn.Close()
return
}
var s = string(buffer[:bytesRead])
//тут всякие действия в зависимости от приходящих значений
}
Горутина прекрасно слушает входящие данные и производит нужные действия, и даже пишет в сокет что надо в ответ,
но вот в этом цикле самому взять и что-то запулить клиенту, минуя ожидание данных от него?
Или это в принципе невозможно?
При попытке что-то написать в сокет вне очереди, скрипт падает с ошибкой записи в закрытое соединение.
Буду признателен за помощь!