Mbedtls_ssl_close_notify займає більше 30 секунд без затримки

Mbedtls_ssl_close_notify займає більше 30 секунд без затримки

4 Березня 2024 в 16:28 26

Функція Mbedtls_ssl_close_notify займає більше 30 секунд, якщо перед нею не додано затримку. У нас є код під назвою Freertos_TLS_Disconnect(), який викликає mbedtls_ssl_close_notify() внутрішньо. Функція займає 45 секунд із кодом помилки -27648, коли перед ним не додана затримка, як показано нижче:

Але коли затримка додається (до вищезазначеного коду), mbedtls_ssl_close_notify успішно виконується, і час виконання функції становить всього 15 мс. Питання в тому, чи потрібна функції mbedtls_ssl_close_notify затримка перед витонченим закриттям з’єднання? Якщо ні, як виправити це? Реалізація функції TLS_Freertos_disconnect виглядає наступним чином: