У меня есть одно основное сомнение, которое еще не было найдено после поиска в поиске и в стеке.У меня есть длинная реализация серверного опроса в PHP.Логика заключается в том, что соединение остается активным до тех пор, пока на сервере не будет найдено новое сообщение.Это бесконечный цикл, в котором он либо возвращает новое сообщение, если оно доступно, и разрывает соединение, либо не отправляет никакого ответа, если новые сообщения недоступны.Все в порядке.Нет проблем с бэкендом и концепцией длинного опроса.
Моя главная проблема или ограничение, с которым я сталкиваюсь, - это внешний интерфейс, который является iOS.У меня есть NSURLRequest для установки соединения с моим «длинным опросом» бэкэнда, но у моего подключения внешнего запроса есть период ожидания по умолчанию, который разрывает соединение, когда он достигает этого интервала времени ожидания.Это мое ограничение здесь.Согласно документации Apple, у них есть инициализатор, который принимает аргумент пользовательского интервала времени ожидания, но опять-таки мой вопрос остается, какое значение интервала мне следует указать здесь?https://developer.apple.com/documentation/foundation/nsurlrequest/1528579-requestwithurl
В ситуации, когда появление новых сообщений будет непредсказуемым, я не знаю, какое рекомендуемое значение интервала тайм-аута предоставить.Мой вопрос состоит в том, чтобы знать, есть ли значение, которое указывает бесконечный интервал ожидания?Если нет, то что вы порекомендуете использовать значение тайм-аута, и когда это значение тайм-аута истекает и закрывает соединение, то Как мне беспрепятственно обрабатывать другой сеанс опроса в интерфейсе пользователя.
Моя цель - не создавать больше http-соединения, котороеуже предотвращено с помощью длинного способа опроса.Но если мое внешнее соединение истекло, скажем, каждые 60 секунд, тогда я должен инициировать еще один запрос.Если это единственный способ, тогда я в порядке, но если есть способ сохранить соединение в интерфейсе, пока бэкэнд не закроет его, пожалуйста, дайте мне знать.
Ответы на решение могут быть как быстрыми, так и объективными.Мне просто нужен концептуальный ответ.
РЕДАКТИРОВАТЬ РЕШЕНИЕ: Я не уверен, стоит ли отмечать это как решенное путем публикации ответов.Но мои решения кажутся абсолютным значением, представляющим бесконечность для NSTimeInterval, который удваивается.Вот ссылка: Какая константа представляет собой "никогда" для NSTimeInterval?