Size: a a a

2020 February 21

V

Vabka in Kotlin JVM
Привет всем, вопрос про ктор
А в ктор есть роутинг на аннотациях?
источник

u

ultra noise in Kotlin JVM
https://ktor.io/servers/features/locations.html кажется этот? только он пока экспериментальный
источник

К

Кирилл in Kotlin JVM
Кто-нибудь пробовал реализовать сокет на ktor? Может знаете оф гайды или просто полезные статьи?
источник

AN

Alexander Nozik in Kotlin JVM
Кирилл
Кто-нибудь пробовал реализовать сокет на ktor? Может знаете оф гайды или просто полезные статьи?
Какой из?
источник

К

Кирилл in Kotlin JVM
Мне нужно реализовать уведомления приложения при изменении в mysql бд. (Есть таблица в которую могут добавлять или удалять элементы и приложение на разных телефонах которое следит за таблицей, хочу сделать подобие firebase realtime db). Сказали делать сокеты либо long polling
источник

AN

Alexander Nozik in Kotlin JVM
Кирилл
Мне нужно реализовать уведомления приложения при изменении в mysql бд. (Есть таблица в которую могут добавлять или удалять элементы и приложение на разных телефонах которое следит за таблицей, хочу сделать подобие firebase realtime db). Сказали делать сокеты либо long polling
Вы бы для начала исследовали вопрос что ли? Видимо речь идет про вебсокеты: https://ktor.io/servers/features/websockets.html
источник

К

Кирилл in Kotlin JVM
Alexander Nozik
Вы бы для начала исследовали вопрос что ли? Видимо речь идет про вебсокеты: https://ktor.io/servers/features/websockets.html
Вот я и спрашиваю статьи чтобы исследовать
источник

К

Кирилл in Kotlin JVM
Спасибо
источник

ДЧ

Денис Чиканов in Kotlin JVM
Кирилл
Вот я и спрашиваю статьи чтобы исследовать
Так вебсокет не надо реализовывать, он есть готовый, берите и используйте
источник

AN

Alexander Nozik in Kotlin JVM
Кирилл
Вот я и спрашиваю статьи чтобы исследовать
Так перед тем, как спрашивать надо хоть википедию почитать, чтобы знать, про что спрашивать и термны не путать.
источник

AN

Alexander Nozik in Kotlin JVM
Логн полинг, на сколько я понимаю реализуется на стороне клиента.
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
Логн полинг, на сколько я понимаю реализуется на стороне клиента.
Поддержка сервера тоже нужна, иначе лонг не будет
источник

AN

Alexander Nozik in Kotlin JVM
Vladimir Petrakovich
Поддержка сервера тоже нужна, иначе лонг не будет
Ну там же суспенд в кторе. Почти автоматом
источник

AN

Alexander Nozik in Kotlin JVM
Но я не пробоавал, если что. Вот вебсокеты - пробовал
источник

RI

Ruslan Ibragimov in Kotlin JVM
Alexander Nozik
Ну там же суспенд в кторе. Почти автоматом
Не совсем так
1. suspend то он suspend, но код для обычного request-response и для long-polling отличается по своей сути
2. дефолтовые таймауты могут обрывать запрос раньше, чем будет получен ответ -- нужно настраивать под специфику, и учитывать что у вас перед сервером стоит (тот же LB должен понимать что для некоторых роутов увеличенные таймауты)

Так работает кстати telegram api, бот посылает запрос и висит ожидая ответа

websocketы всю жизнь мне доставляли боль, как только речь не про запустить локально поиграться. Nginx долгое время не умел в вебсокеты и https вместе, отладчик WS в Firefox только появился.

Из альтернатив есть Server Sent Events, но я с ним не работал в реальных задачах и не могу сказать лучше или хуже он чем WS, но есть ощущение что лучше
источник

AN

Alexander Nozik in Kotlin JVM
Ruslan Ibragimov
Не совсем так
1. suspend то он suspend, но код для обычного request-response и для long-polling отличается по своей сути
2. дефолтовые таймауты могут обрывать запрос раньше, чем будет получен ответ -- нужно настраивать под специфику, и учитывать что у вас перед сервером стоит (тот же LB должен понимать что для некоторых роутов увеличенные таймауты)

Так работает кстати telegram api, бот посылает запрос и висит ожидая ответа

websocketы всю жизнь мне доставляли боль, как только речь не про запустить локально поиграться. Nginx долгое время не умел в вебсокеты и https вместе, отладчик WS в Firefox только появился.

Из альтернатив есть Server Sent Events, но я с ним не работал в реальных задачах и не могу сказать лучше или хуже он чем WS, но есть ощущение что лучше
Мне это все кстати актуально сейчас, гуи для девайсов делать, обычного реста там не хватает
источник

AN

Alexander Nozik in Kotlin JVM
но LP тоже вряд ли сгодится
источник

RI

Ruslan Ibragimov in Kotlin JVM
У ktor есть поддержка SSE https://ktor.io/samples/other/sse.html
источник

AN

Alexander Nozik in Kotlin JVM
Ruslan Ibragimov
У ktor есть поддержка SSE https://ktor.io/samples/other/sse.html
Да, но тогда получится, что надо в две стороны по разным каналам слать, хотя может быть это и вариант.
источник

RI

Ruslan Ibragimov in Kotlin JVM
Так что есть из чего выбрать: SSE, WS, LP
источник