Как лучше выстроить общения клиент-сервера в чате?
На данном этапе написал основную часть бэка своего маленького pet-project, никогда ранее не разрабатывал чат, поэтому пока размышляю над архитектурой накидываю фронт. Прошу вашей помощи в этой задаче
На данный момент у меня есть js таймер, который каждые несколько секунд кидает ajax запрос по определенному flask-route, откуда возвращается json с информацией о наличии новых сообщений в чате или их обновлении\удалении. Но понимаю, что такая идея не есть хорошо.
Единственный вариант, который пока что приходит в голову:
Вместо таймера закинуть ajax функцию в бесконечный луп, отправлять запрос на сервер и ждать ответа, а ответ будет приходить не сразу, а лишь когда сработает кол-бек на изменения в чате. Корректна ли такая идея? Если нет, на что обратить внимание?
Stranger in the Q, да, но как они мне помогут тут? Если только делать аналог selector'a и давать ответ клиенту лишь при пополнении опрашиваемой очереди
Реализовать я это могу так же внутри Flask приложения, но идею подкинул, спасибо)
То что вы описали это longpooling. Это действует. Так же действует и постоянный опрос, так же и вебсокеты. У каждой технологии есть плюсы например вы можете выбрать все порты на сервере а их 65000 так что думайте