Цель c — PHP-сервер COCOA клиент

Я сделаю приложение чата для MAC. Почти все сделано. Единственная проблема, которая у меня есть сейчас, — это программирование моего PHP API для сервера (я использую бесплатный хост). Я использую POST для отправки информации от клиента на сервер и ECHO в PHP для получения ответа от сервера клиенту делегатом подключения к данным. Я думаю, что это не лучший способ сделать это. У меня также есть база данных, которая содержит идентификаторы контактов, имена и т. Д., Управляемые из PHP … Мне нужна идея или некоторая документация о том, как управлять моими клиентами COCOA из PHP. Пример: Мой клиент X хочет пообщаться с Y, поэтому Клиент X отправляет POST на сервер сообщение и кто является пунктом назначения, затем я хочу, чтобы сервер отправил Y сообщение от X.

Я использую NSMutableURLRequest для создания запроса, NSData для данных для отправки и NSURLConnection для подключения к серверу.

Мне нужны что-то вроде советов, документов, фрагментов кода и т. Д. У меня есть 5 недель, так как я ищу решение, но я не нашел ничего, чтобы помочь мне.

Итак, у меня есть несколько вопросов:

  1. Как я могу отправить данные с сервера без эха?
  2. Как я могу сказать серверу отправлять данные только одному из клиентов.

Заранее спасибо !

-1

Решение

Когда пользователь A впервые отправляет пользователю B сообщение, B может не активировать приложение. (Подумайте о том, как часто вы получаете текстовые сообщения, пока вы не активно использовать приложение Сообщения.) Ваше приложение чата может хотеть каким-то образом сообщить пользователю B, что ему было отправлено сообщение, даже если ваше приложение в данный момент не запущено. Всплывающие уведомления является предпочтительной технологией для этого. Когда пользователь A и пользователь B запустили приложение, вы можете предусмотреть другие архитектуры для активного чата между ними, но вы можете захотеть, чтобы функция уведомляла пользователя о входящих сообщениях чата, и вы могли бы использовать для этого push-уведомления. Этот дизайн более важен для приложений для iOS, но может быть и для настольных приложений.

Следующий вопрос — какова правильная архитектура, если и A, и B одновременно запускают ваше приложение и общаются друг с другом. Итак, давайте на секунду предположим, что ваш дизайн влечет за собой отправку сообщений A на ваш сервер, а затем ваш сервер отправляет сообщение B. Эта первая часть (отправка сообщения на сервер) проста, но вторая часть (отправка сервером). сообщение B) не поддается традиционной архитектуре веб-службы HTTP. Теоретически вы также можете использовать push-уведомления для этого процесса, но вы также можете рассмотреть подход на основе сокетов. Смотри Вендерлиха сокеты учебник. Это ориентировано на iOS, но архитектурные / сетевые проблемы очень похожи.

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

2

Другие решения

Других решений пока нет …