Какие технологии используют соц.сети и мессенджеры для реализации мгновенных сообщений?

Здравствуйте. Каким образом в соц. сетях(например в вк) реализована личная переписка? Там используются вебсокеты? и, если да, то они используются как в десктопной версии сайта, так и в мобильной(мобильном приложении)? Так же интересует реализация переписки в мессенджерах - тоже вебсокеты или что-то более хитрое? Проведите пожалуйста ликбез
  • Вопрос задан
  • 459 просмотров
Решения вопроса 1
@stratosmi
Каким образом в соц. сетях(например в вк) реализована личная переписка?

Для веб-сайтов есть ограничения на используемые технологии.
В то время как приложения могут использовать гораздо более широкий спектр технологий. И если мобильные приложение еще в чем-то ограничены, то десктопные вообще не ограничены.
Там используются вебсокеты?

WebSocket - это костыль, обход ограничений технологии HTTP.
Где нет таких ограничений - незачем и этот костыль использовать.
Отсюда вывод - websocket - для вебсайтов, прежде всего.

и, если да, то они используются как в десктопной версии сайта, так и в мобильной(мобильном приложении)? Так же интересует реализация переписки в мессенджерах - тоже вебсокеты или что-то более хитрое?

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

Но вообще говоря, если у команды есть ресуры на разработку, то не нужны websocket ни на мобилках ни на десктопе. Использование более подходящих технологий позволяет эффективнее использовать ресурсы.

Из особенностей мобилок - уведомления Android/iOS могут быть связаны с сообщениям (Телеграм точно их используют)
Например, уведомление + REST вполне себе дает оперативность. Без WebSocket.

Ну а для десктопов вообще можно на голом TCP сделать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise
Solution Architect
Да, да, не обязательно
Ответ написан
MetaAbstract
@MetaAbstract
Разработка интерактивных функциональных прототипов
Erlang
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы