2016-07-20 3 views
0

У меня есть приложение iOS, где люди могут публиковать что-то на своей стене. Теперь я хотел бы сделать функцию, которая, когда клиент сообщает что-то, каждый, кто находится в сети (активное состояние приложения), может видеть сообщение, которое сообщает им, что кто-то просто что-то написал.Объективное сообщение C всем онлайн-клиентам

Я использую Sinch.com, Quickblox.com и т.д.

  • Sinch плохо, задержка и медленно, и он не может отправлять сообщения в более чем 10 клиентов. И это для общения, а не для уведомления.

  • Quickblox - это хорошо, но у него действительно высокая цена, и это тоже для общения.

Я попытался использовать PushRemoteNotification, но это зависит от того, будут ли пользователи включать уведомление или нет. Даже если они активируют уведомление, это очень медленно, когда я отправляю сообщение более чем 500 клиентам через Push, а также я не знаю, какие устройства подключены к сети, поэтому я считаю, что это не решение.

Я планирую использовать сервер PHP Ratchet WebSocket и использовать одну из этих библиотек WebSocket для своего приложения Objective-C SocketRocket client или JetFire, но это только мой план. Как вы думаете, это возможно для огромного количества онлайн-клиентов?

Если есть кто-нибудь, кто лучше понимает, пожалуйста, помогите.

+0

Для реакции в реальном времени, веб-сокет, который он предложил. Другими словами, они не настолько хороши по сравнению с веб-сокетами, но они стоят дешевле. – childrenOurFuture

ответ

1

Я не совсем уверен, что именно вы ищете, но я имел большой успех, используя Twisted, который построен поверх Python. Он имеет хорошие функциональные возможности для создания соединений сокетов, которые позволяют переносить данные с сервера на клиентов. На сайте Ray Wenderlich есть great tutorial на Twisted (и, в частности, с помощью Twisted с приложением iOS), это очень помогло мне.

В качестве альтернативы, socket.io, который построен на вершине node.js, вполне подходит вашим потребностям.

+0

Спасибо, это первый раз, когда я слышу про Twisted, я изучу это и попробую. – vietnguyen09

+1

Добро пожаловать. Обязательно проверьте учебник. Я думаю, что это удовлетворит ваши потребности достаточно хорошо. Также обратите особое внимание на функциональность Twisted 'lineReceived'. По сути, это позволяет вам легко реагировать на Twisted Server с обратным вызовом на полученные строки текста, что, вероятно, будет идеально для вашей ситуации. Вы можете заставить сервер Twisted направить полученные строки на нужные клиенты. – jsondwyer

+0

Передано ли это сообщение от одного к другому? Сообщение клиента -> Twisted server -> передайте это сообщение всем другим клиентам. – vietnguyen09

Смежные вопросы