Что лучше сокеты tcp / ip или UDP, веб-сокеты или веб-сервисы для таких приложений, как социальные сети

#php #android #ios #sockets #websocket

#php #Android #iOS #сокеты #websocket

Вопрос:

Мне нужно разработать небольшое приложение, такое как Facebook или Google , где пользователь может публиковать и комментировать и выполнять некоторые другие функции, подобные этим. Теперь я делаю некоторый поиск, и меня смущает, что я должен был использовать сокеты для связи (между сервером и устройством), потому что там мне нужно показывать подобные сообщения на других устройствах, как только они будут опубликованы любым пользователем на сервере form web или на любом другом устройстве.

Я думаю, что сокеты являются двунаправленными и имеют постоянное соединение, поэтому работать с ним будет быстро и менее поспешно. Может ли кто-нибудь поделиться своим опытом и рекомендациями. мы будем использовать php на сервере и должны разработать его для iphone и Android на родном языке. Заранее спасибо.

Ответ №1:

Вы думали об использовании node.js ? Он описывается как «идеальный для приложений реального времени с интенсивным использованием данных, которые работают на распределенных устройствах».

Это его порт для Android.

Комментарии:

1. можете ли вы указать мне порт для objective c

Ответ №2:

Сокеты поддерживают постоянное соединение между устройством и серверами. Однако вы должны иметь в виду, что вы имеете дело с мобильными устройствами, что означает:

  • соединения ненадежны
  • использование постоянного соединения может привести к слишком быстрой разрядке аккумулятора

По этим причинам я бы сказал, что лучший способ — предоставить конечную точку rest в вашем сервисе. Учитывая его природу «одного места», он позволяет вам выполнять повторные попытки, отслеживать ожидающие запросы и так далее. Что вы можете потерять, так это немного ответственности, потому что вам нужно либо опрашивать, чтобы проверить наличие новых данных, либо полагаться на push-сервисы, предоставляемые Google / apple.

Комментарии:

1. как постоянное соединение разряжает больше батареи, чем использование опроса для получения того же объема информации?

2. Разрядку батареи определяет не только количество информации. Поддержание соединения означает постоянное включение радио, что является одной из основных причин разрядки батареи. С другой стороны, опрос (или, что лучше, использование механизмов push) позволяет реже включать радио. Это, конечно, зависит от характера приложения, я предполагаю, что вы можете терпеть задержку в 30 секунд в приложении для социальных сетей. Приятно читать highscalability.com/blog/2013/9/18 /…

3. Я понимаю. После какого времени простоя устройство отключает соединение?