Как сделать чат-систему на iPhone? - PullRequest
4 голосов
/ 01 августа 2010

Я занимаюсь разработкой приложения для iPhone на основе чата (в обычном смысле это не текстовый чат, но принципы те же).

В один и тот же чат можно одновременно войти не более 6 человек, и самый простой вопрос - как эффективно проверять наличие новых сообщений?

Нужно ли мне периодически опрашивать сервер? Или я могу вызвать событие на телефоне с сервера при появлении нового контента, на который следует обратить внимание?

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

К сожалению, я не смогу настроить сервер сокетов для этого приложения, оно должно основываться на обычной конфигурации LAMP.

Ответы [ 3 ]

2 голосов
/ 01 августа 2010

Я думаю, вы можете использовать push-уведомления или XMPP (Jabber) сервер.

XMPP позволит вашему приложению для iphone получать данные даже в фоновом режиме, используя новые функции многозадачности (прослушивание сокета), и я уверен, что вы должны найти готовые серверы для LAMP (или, по крайней мере, с открытым исходным кодом) реализации).

Обратите внимание, что многозадачный API iOS4 не поддерживает опрос в фоновом режиме, поэтому единственной другой опцией должны быть push-уведомления. Если вы новичок в использовании push-уведомлений, вы можете воспользоваться услугой типа Urban Airship , которая может упростить процесс.

2 голосов
/ 21 декабря 2012

XMPP звучит хорошо для вашей идеи, я думаю, что это лучшая технология для чата. Он прекрасно работает в приложениях для iOS.

Возможно, этот пример кода будет полезен для начала использования XMPP в приложении для iOS - посмотрите на Пример кода чата QuickBlox Он демонстрирует, как интегрировать 1-1 чат, чат в комнате в ваше приложение для Android. Также есть руководство, как это работает. Я думаю, что не будет никаких проблем, чтобы интегрировать его в ваше приложение. В противном случае - Комментарии * Система ниже 1006 * позволяет задать любой вопрос и получить быстрый ответ.

Также есть демонстрационное видео http://www.youtube.com/watch?feature=player_embedded&v=SncQaJBBW_0, как работает этот чат.

0 голосов
/ 01 августа 2010

На мой взгляд, лучшим решением является сокет, но вы говорите, что не можете реализовать серверную часть для этого.

Вы также можете реализовать это с помощью push-уведомлений. Вы также можете получать push-уведомления, когда ваше приложение работает, и отправлять все необходимые данные внутри push-уведомлений. Обычно сообщения чата короткие ...

Если вы не хотите связываться с push-уведомлениями на сервере, то, насколько мне известно, остается только опрос.

...