У меня есть приложение для iPad, написанное на Swift, которое связывается с нашим HTTP-сервером через REST API, и мне нужно добавить прослушиватель для двух типов событий: приложение HTTP-сервера не работает (502 503 504) и приложение HTTP-сервера снова включено (2xx, 3xx, 4xx).
Сейчас я использую NetworkReachabilityManager
Alamofire, с помощью которого я могу настроить слушателя на события, такие как сеть недоступна и сеть снова доступна ,Я даже могу разместить там хост на нашем сервере через вызов конструктора NetworkReachabilityManager(host: "www.ourserver.com")
, но он на самом деле не делает то, что я точно хочу. Он только выясняет, доступен ли IP-адрес, на который маршрутизируются хосты (ping).
class NetworkReachabilitySubject {
private let manager = NetworkReachabilityManager(host: "www.ourserver.com")
private var observers : [NetworkReachabilityObserver] : []
// MARK: - Methods
func startListening() {
manager?.listener = { status in
for observer in self.observers {
observer.networkStatusChanged(currentStatus: status)
}
}
manager?.startListening()
}
}
Мне нужно пойти немного дальше и управлять, когда серверное приложение выключено / не включено, а нетолько когда host выключен / включен. Для этих целей я создал специальную конечную точку HTTP http://www.ourserver.com/isalive
, которую можно использовать для определения, не работает приложение сервера или нет. Есть ли способ в Alamofire или другой библиотеке, чтобы решить эту проблему? В идеале что-то вроде HttpServerAppReachabilityManager(endpoint: "http://www.ourserver.com/isalive")
, которое делает то же самое, что и NetworkReachabilityManager
Alamofire, но кроме того, оно также может управлять достижимостью конечной точки URL-адреса?