Подход для связи клиент-сервер в Objective-C / Какао - PullRequest
0 голосов
/ 03 августа 2010

Я работаю над приложением для OS X, которому требуется передача небольших битов данных между приложением на стороне сервера и приложением на стороне клиента.Я попытался использовать сервер Ruby on Rails в качестве внутреннего способа передачи данных, который был очень прост и легок в реализации, но вызвал некоторые проблемы (я не опытный разработчик Ruby).Я хочу попробовать использовать сокеты (NSSocketPort или CFSockets), но не уверен, что это лучший способ решения проблемы.Информация, которую мне нужно передать, это такие вещи, как имя компьютера клиента, пропускная способность сети клиента и другие мелкие фрагменты информации (текст).Кроме того, еще одна вещь, на которую следует обратить внимание, это то, что все общение будет происходить в одной (возможно, закрытой) сети.Если кто-то может дать полезную и простую рекомендацию со ссылками на дополнительную информацию, я был бы очень признателен!Спасибо!

EX.Если бы у меня было несколько клиентов, и я хотел бы отобразить их список, какой подход был бы наилучшим?В сети где-то запущено приложение, которое отображает список клиентов, и у всех клиентов есть IP-адрес компьютера, на котором запущено это приложение.Я хочу иметь возможность отображать новый клиент на экране каждый раз, когда клиент отправляет сообщение в это приложение.Я предполагал, что использование HTTP-запросов заставит меня опрашивать с помощью GET и отображать список каждый раз, когда добавляется что-то новое.Вместо этого я хотел бы иметь возможность вызывать метод каждый раз, когда сообщение принимается чем-то, работающим в фоновом режиме.

1 Ответ

1 голос
/ 03 августа 2010

Есть ли причина не использовать простой HTTP?

Используйте HTTP POST для отправки информации с клиента на сервер и GET для получения информации с сервера.Если это небольшая часть текстовой информации, HTTP с кодировкой JSON должно быть достаточно для всех ваших потребностей.Если вам нужна безопасность, вы получите это с HTTPS.

...