Я использую APNS-Sharp на своем сервере, и он отлично работает, за исключением одного сценария, я попытаюсь описать это:
Сервер отправляет первый push-запрос - NotificationService успешно подключается ксерверы Apple, я получаю события «Соединение» и «Подключено», метод QueueNotification возвращает true, я получаю событие «NotificationSuccess», и целевое устройство получает push.
Сервер отправляет большеpush-уведомления - работает отлично, метод QueueNotification возвращает true, я получаю событие «NotificationSuccess», и целевые устройства получают push-уведомления.
Сервер не отправляет push-уведомления в течение нескольких часов (2-3 часа)
Push отправки на сервер - ЗДЕСЬ МОЯ ПРОБЛЕМА, после отправки этого нажатия метод QueueNotification возвращает TRUE, я даже получаю событие "NotificationSuccess", НО целевое устройство НЕ получает push.
Сервер отправляет еще одно нажатие - метод QueueNotification возвращает значение true, но на этот раз я получаю сообщение об ошибке «Ошибка: невозможно записать данные в транспортное соединение: существующее соединение было принудительно закрытоудаленный узел."затем NotificationService повторно подключается к серверам Apple, и мы возвращаемся к шагу 1. (также push-уведомление успешно отправлено, и целевое устройство получает его)
Итак, чтобы подвести итог, если мой сервер начнет отправлять pushуведомлений, а затем останавливаются на 2-3 часа, следующий отправленный им толчок после перерыва не поступает на целевое устройство, даже если я получаю событие «NotificationSuccess», и я не получаю никакого сообщения об ошибке, пока не отправлю еще один push.