Написал мессенджер: http://rsdn.ru/forum/flame.comp/6042249.1 Он работает на обычных HTTP запросах. Теперь пытаюсь понять, как он должен работать в правильном варианте.
Мне пришло понимание, что надо делать TCP соединение, сервер его авторизовывает, подписывает на обновления и шлет в сокет данные, когда они появились.
Разбираюсь с вебсокетами, и начинаю понимать, что на них никаких подписок не сделаешь. То есть это тот же HTTP, но без разрыва соединения.
Так как же должна строиться система обмена сообщениями, чтобы быть более оптимальной?
- В режиме ответов на запросы клиента, плюс присылать уведомления о новых событиях.
- В режиме ответов на запросы клиента, но клиент должен сам постоянно посылать запрос на обновление данных.
Первый вариант кажется более оптимальным, но для него потребуется более хитрая логика. Он реализуется на php? Второй вариант более прост, но периодические запросы, скажем каждые 2 секунды, это не кажется оптимальным решением.