Потратив на это много часов. Я не могу найти способ прочитать все данные, поступающие с сервера сокетов TCP, а затем выполнить операцию, так как я не могу найти способ сломать l oop.
Сервер сокетов отправляет тексты, содержащие много строк, заканчивающихся на "\ n". Клиент должен иметь возможность прочитать все эти строки и сделать POST-запрос со всеми данными, но l oop всегда зависает, и нет способа его сломать. Затем он продолжит ожидать получения дополнительных данных, поэтому условие остановки может занять три секунды.
Я пробовал разные решения (Scanner, ReadString, ReadLine, ReadAll), но он всегда зависает, и l oop никогда не закончится sh.
Последняя строка в коде никогда не печатается.
conn, err := net.Dial("tcp", "127.0.0.1:15000")
reader := bufio.NewReader(conn)
message := ""
for {
line, err := reader.ReadString('\n')
if err == io.EOF {
break
}
message += line
}
log.Println(message)