Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Мобильное приложение с пуш уведомлениями. (https://javascript.ru/forum/node-js-io-js/55031-mobilnoe-prilozhenie-s-push-uvedomleniyami.html)

SokDobriy 15.04.2015 00:44

Так ребята. Немного пообщавшись на канале socket.io ситуация немного прояснилась. Все пользователи должны быть постоянно подключены к серверу.
Я не понимаю. То есть и whatsupp и viber так работают? То есть они всё время шлют пакеты на сервер даже если ничего не происходит?

Safort 15.04.2015 09:11

SokDobriy,
Цитата:

То есть и whatsupp и viber так работают? То есть они всё время шлют пакеты на сервер даже если ничего не происходит?
Хз вообще, у них могут быть разные протоколы. Вики гласит
Цитата:

WhatsApp использует модифицированный протокол Extensible Messaging and Presence Protocol (XMPP, ранее известный как Jabber)
По ссылке на XMPP в описании слабых сторон говорится:
Цитата:

Избыточность передаваемой информации: Как правило, более 70 % межсерверного трафика XMPP составляют сообщения о присутствии[14], около 60 % которых являются излишними[15]. XMPP на данный момент создаёт избыточный трафик при доставке сообщений о присутствии (то есть «статус-сообщений») нескольким пользователям.

Erolast 15.04.2015 10:49

Цитата:

Я не понимаю. То есть и whatsupp и viber так работают? То есть они всё время шлют пакеты на сервер даже если ничего не происходит?
https://learn.javascript.ru/websockets#ping-pong

Цитата:

Все пользователи должны быть постоянно подключены к серверу.
Ну да. Что не так?

Цитата:

Перелопачивать, что бы найти адресата. Один пользователь написал сообщение, оно пришло на сервер. Теперь нужно что бы сервер направил его адресату. Он полезет в базу искать пользователя получателя.
Зачем? Пул коннектов держится в приложении, а не в базе, потому что, очевидно, с прерыванием приложения эти данные должны исчезнуть. Инкапсуляция и все дела. В базе хранятся данные профиля.

SokDobriy 15.04.2015 13:58

Erolast,
Я просто представлял себе это изначально по другому. Отправитель шлет на сервер (тут всё понятно), сервер обрабатывает и шлет получателю. А получатель сидит себе спокойно и ничего никуда не шлет, пока не прийдёт сообщение. Я как раз и не понимал при таком раскладе, куда будет сервер слать сообщение получателю.
Теперь то всё, конечно, понятно. Но это какой-то омг.

Erolast 16.04.2015 09:06

Цитата:

Я просто представлял себе это изначально по другому. Отправитель шлет на сервер (тут всё понятно), сервер обрабатывает и шлет получателю. А получатель сидит себе спокойно и ничего никуда не шлет, пока не прийдёт сообщение.
В смысле, без поддержки постоянного подключения? Ну должно быть можно и так - на телефоне поднимается сервер, мастер-сервер на него пересылает сообщения. Но зачем? Это ж оверхед от постоянных открытий-закрытий соединений выйдет.


Часовой пояс GMT +3, время: 17:24.