Разъемы для мобильных устройств: оставайтесь открытыми и переподключайтесь при каждом запросе - PullRequest
1 голос
/ 22 июня 2011

Я создаю приложение для мобильного устройства (Windows Phone 7), которое открывает сокет на сервере.
Должен ли я: -

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

Я нашел этот вопрос IPC: подключиться к каждому запросу или оставить сокет открытым? , который связан, но яинтересно, изменится ли ответ с учетом ограничений на мобильном устройстве

Ответы [ 2 ]

1 голос
/ 28 июля 2011

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

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

1 голос
/ 13 июля 2011

Это зависит.

Если вам не нужно держать соединение открытым, чтобы получить сообщение от сервера, вы можете закрыть его после того, как вы закончили его использовать.

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

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

...