Подтвердить что ты не робот

Push Notification vs. Web Sockets для реализации приложения чата реального времени?

Я занимаюсь созданием приложения для чата реального времени для iPhone (но этот вопрос относится и к Android и другим устройствам). В основном я хочу, чтобы приложение получало сообщения в реальном времени, пока оно открывалось, а также закрывалось, просто как iPhone собственное приложение "Сообщение".

Когда он закрыт, я могу использовать собственные службы уведомлений push, такие как APNS, и когда приложение открыто, я могу запустить свой собственный сервер веб-серверов или использовать сторонние поставщики, такие как PubNub или Pusher, что я и делал на самом деле.

Затем я подумал: почему я не могу полностью полагаться на APNS для обмена сообщениями в режиме реального времени, пока приложение открыто и пока оно закрыто? Это похоже на гораздо более чистое решение, поскольку оно управляется одним сервером push. Может ли кто-нибудь просветить меня? Спасибо.

4b9b3361

Ответ 1

APNS не на 100% надежна. Это в большинстве случаев, но не на 100%. Это также не так быстро, как выделенный сервис, который вы предлагаете. Иногда push-сообщения занимают более одной минуты, чтобы прибыть. Вы должны рассмотреть их и принять во внимание в любом дизайне, который вы придумали. Если вы можете жить с этими ограничениями, вы действительно можете полагаться на APNS для обновления вашего клиента. Кроме того, с iOS7 приложение может просыпаться в фоновом режиме, извлекать данные и обновлять свой пользовательский интерфейс, чтобы пользователь представил обновленное приложение.

Говоря о производительности, чтобы иметь возможность обрабатывать множество открытых подключений и обслуживать их одновременно, не так просто, как кажется, поэтому в зависимости от ваших ресурсов вы не сможете обеспечить лучшее время безотказной работы, чем Apple APNS, поэтому ограничения выше, хотя и истинны, не обязательно настолько плохи, насколько они могут звучать.

Я думаю, что лучше всего, так как вам нужно реализовать поддержку push, чтобы реализовать APNS, и посмотреть, удовлетворяет ли это вам и вашим клиентам. Помните, что серверы APNS с песочницей (отладки) медленнее, чем обычные серверы APNS, поэтому тестируйте их с версиями релизов, чтобы увидеть реальные последствия перехода APNS. Если по дороге вы заметите, что предоставленного сервиса недостаточно, вы можете использовать только дополнительные услуги.