Size: a a a

2019 May 25

VP

Vladimir Petrakovich in Kotlin JVM
Алексей Овсянников
Еще раз - если у вас бот запрашивает обновления через поллинг раз в пол минуты, то при появлении четырех изменений за одну секунду первый же getUpdates выдаст не всю кипу обновлений
Да, зато выдаст один из следующих. С чего вы взяли, что клиенту надо ждать 30 секунд перед следующим запросом?
источник

АО

Алексей Овсянников in Kotlin JVM
Vladimir Petrakovich
Да, зато выдаст один из следующих. С чего вы взяли, что клиенту надо ждать 30 секунд перед следующим запросом?
Потому что бот ничего не узнает об обновлениях в течение 30 секунд между запросами getUpdates
источник

АО

Алексей Овсянников in Kotlin JVM
Vladimir Petrakovich
Да, зато выдаст один из следующих. С чего вы взяли, что клиенту надо ждать 30 секунд перед следующим запросом?
Один из следующих... в смысле в один из следующих разов? Это сработает только в случае, если вы раз в пол минуты вычищаете все обновления, пока getUpdates не вернет пустой список обновлений:)
источник

VP

Vladimir Petrakovich in Kotlin JVM
Алексей Овсянников
Потому что бот ничего не узнает об обновлениях в течение 30 секунд между запросами getUpdates
Вот в этом ваше непонимание 🙂
Не надо ждать после ответа сервера
источник

АО

Алексей Овсянников in Kotlin JVM
Алексей Овсянников
Один из следующих... в смысле в один из следующих разов? Это сработает только в случае, если вы раз в пол минуты вычищаете все обновления, пока getUpdates не вернет пустой список обновлений:)
А это накладно из-за ограничений телеги:)
источник

АО

Алексей Овсянников in Kotlin JVM
Vladimir Petrakovich
Вот в этом ваше непонимание 🙂
Не надо ждать после ответа сервера
Так, стоп. А как вы собрались производить запросы раз в пол минуты без ожидания этой половины минуты?
источник

VP

Vladimir Petrakovich in Kotlin JVM
Алексей Овсянников
Так, стоп. А как вы собрались производить запросы раз в пол минуты без ожидания этой половины минуты?
Полминуты - это ожидание ответа, когда событий нет (idle так сказать).
Если событие есть, оно приходит сразу и надо сразу лезть за следующими.
источник

АО

Алексей Овсянников in Kotlin JVM
Vladimir Petrakovich
Полминуты - это ожидание ответа, когда событий нет (idle так сказать).
Если событие есть, оно приходит сразу и надо сразу лезть за следующими.
То есть вы не запросы посылаете раз в пол минуты, а соединение держите пол минуты
источник

VP

Vladimir Petrakovich in Kotlin JVM
Алексей Овсянников
То есть вы не запросы посылаете раз в пол минуты, а соединение держите пол минуты
Полминуты - это таймаут на сервере, после которого он говорит "событий нет"
источник

АО

Алексей Овсянников in Kotlin JVM
Vladimir Petrakovich
Полминуты - это таймаут на сервере, после которого он говорит "событий нет"
Чем эта формулировка отличается от моей?:)
источник

VP

Vladimir Petrakovich in Kotlin JVM
Алексей Овсянников
Чем эта формулировка отличается от моей?:)
Тем, что соединение вообще не причём, оно держится бесконечно
источник

АО

Алексей Овсянников in Kotlin JVM
Vladimir Petrakovich
Тем, что соединение вообще не причём, оно держится бесконечно
Спасибо:)
источник

АО

Алексей Овсянников in Kotlin JVM
Правда, в доке таймаут на соединение всё равно присутстствует и, как я понял, оно всё равно обрывается, когда появляются обновления
источник

АО

Алексей Овсянников in Kotlin JVM
Ну то есть обновления возвращаются и соединение закрывается
источник

АО

Алексей Овсянников in Kotlin JVM
Илт это не так?
источник

VP

Vladimir Petrakovich in Kotlin JVM
Алексей Овсянников
Илт это не так?
Нет. Таймаут который в доке нужен, чтобы сказать серверу, сколько времени клиент будет ждать ответ, прежде чем решит, что это не событий нет, а он отвалился.
источник

АО

Алексей Овсянников in Kotlin JVM
Понял, спасибо
источник

AO

Alexey Otts in Kotlin JVM
Зачем закрывать соединение, если можно просто отдать ответ, что мол ничего нет
источник

В

Вафель in Kotlin JVM
Alexey Otts
Зачем закрывать соединение, если можно просто отдать ответ, что мол ничего нет
Телега так и делает, по таймауту возвращает пустой массив обновлений
источник

А

Андрей in Kotlin JVM
Подскажите пожалуйста, что это вообще такое, и почему оно может быть?
источник