• Как корректно закрывать tcp соединение?

    @vipsiteedit
    Закрывай соединение в конце первого цикла conn.Close(), так как defer выполняется только при завершении метода.
    .....
          d := time.Duration(kpi.current * float32(time.Second))
          time.Sleep(d)
        }//end for
        conn.Close()
        log.Println("error, when connect or receive data", stDesc, "wait 60seconds")
        time.Sleep(time.Minute) //Ждем 1 минуту, прежде чем выполнить повторное подключение
      }
    }

    Или сделать отдельный метод внутри первого цикла, в котором можно использовать defer conn.Close()
    Ответ написан
    Комментировать