Telegram bot api неожиданно перестает отвечать после успешного исчерпывающего предыдущего тестирования - PullRequest
1 голос
/ 14 февраля 2020

У меня есть ожидаемый сбой в последнюю минуту в отношении взаимодействия нашего кода с API бота Telegram. Я использовал Nordi c Sem. аккуратно предоставил связанный с Telegram код, работающий на его чипе nRF9160.

Все работало правильно и непрерывно в течение нескольких дней, причем упомянутый код успешно и без прерываний управлял как исходящими, так и входящими сообщениями Telegram до прошлой недели, когда код неожиданно стал не в состоянии работать с Telegram API и начал выдавать errno22 каждый раз, когда выполнялась функция отправки, указанная ниже.

int num_bytes = send(client_fd, send_buf, send_data_len, 0)

Ошибка:

ОШИБКА !!! -> num_bytes = -1

Насколько я знаю, эта ошибка означает неверный аргумент, но я, очевидно, передаю функции те же аргументы, которые использовались в начале успешных тестов (ничего не было переключение между успешной и неудачной операциями), поэтому я не могу понять этот непредсказуемый разрыв программы.

С другой стороны, я знал, что на прошлой неделе Telegram отказался от использования версий TLS 1.0 и 1.1 и настоятельно рекомендовал разработчикам обновить до 1.2v, чтобы избежать прерывания обслуживания. Теоретически, это обновление не должно вызывать проблем, поскольку код, предоставленный сотрудниками службы поддержки чипа, в своих аргументах указывает версию TLS 1.2 (см. Ниже), и, таким образом, я должен предположить, что эта версия в настоящее время используется производителем чипа.

int client_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TLS_1_2)

Тем не менее, информация об этой теме или любых обнаруженных проблемах, связанных с новыми требованиями TLS Telegram, будет принята с благодарностью, а также любые другие предложения о том, как я могу обойти эту проблему.

...