Вызов сокета в фоновом режиме — iOS — Swift

#ios #swift #sockets

#iOS #swift #сокеты

Вопрос:

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

Или любая другая альтернатива этому, если в случае, если мы не можем получать сообщения сокета в фоновом режиме?

Я пытаюсь создать решение для чата и использовал soket.платформа ввода-вывода для iOS.

Ответ №1:

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

Я предлагаю вам использовать Push-уведомления для обновления данных на стороне приложения. вы можете использовать делегирование уведомлений для получения полезной нагрузки из уведомления.

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