Пуш-механизм Exchange Activesync
У меня есть вопрос, касающийся всей конструкции push-сообщений и, в частности, подхода Exchange ActiveSync.
Как я понимаю, есть два основных способа получить push email со следующей архитектурой
Device <---> Push Email Server <---> Actual Email server
- Сохраняйте постоянное сокетное соединение между почтовым сервером Push и устройством. Push-сервер электронной почты проинформирует устройство о подключении.
- Связанные технологии - IMAP IDLE
- Нет смс шлюз требуется
- Сервер электронной почты Push отправит сообщение (wap push, sms и т. Д.), Чтобы попросить устройство загрузить новую электронную почту.
- Связанные технологии - OMA-ENM
- Требуется шлюз SMS на почтовом сервере Push
Учитывая это, какой тип push-службы электронной почты на самом деле предлагает Exchange Activesync?
(AFAIK, решение для продвижения белой метки от Emoze/Synchronica использует 1-й подход - постоянное соединение через что-то вроде IMAP-IDLE).
2 ответа
Я думаю, что Exchange ActiveSync предлагает что-то похожее на IMAP-IDLE, см. Ниже...
http://technet.microsoft.com/en-us/library/aa997252.aspx
Если вы пришли к другому выводу, пожалуйста, напишите. Спасибо!
Exchange ActiveSync использует Direct Push. Клиент (телефон, что угодно) синхронизируется с сервером Exchange и затем выполняет очень длительный HTTP-запрос POST (называемый "PING", но это не пинг ICMP или что-то в этом роде). Когда клиент выдает запрос, он указывает, как долго он должен работать (обычно это порядка нескольких минут).
Этот HTTP-запрос POST будет бездействовать на стороне сервера Exchange до тех пор, пока в почтовом ящике не произойдет изменение или пока не истечет период времени, запрошенный клиентом, и ничего интересного не произойдет.
В первом случае, когда что-то изменилось в почтовом ящике, возвращаемое значение вызова POST указывает клиенту, что ему необходимо выполнить повторную синхронизацию с почтовым ящиком, чтобы получить последние изменения.
В последнем случае, когда вообще ничего не изменилось, возвращаемое значение указывает это, и клиент просто повторно отправляет другой длительный PING на сервер, повторяя весь процесс снова.
Так что на самом деле это ваш #1. Для получения дополнительной информации, эта ссылка Microsoft идет в более подробно.