NSURLErrorDomain Code = -1004 für einige Sekunden nach dem Start der App

Ich bin immer "NSURLErrorDomain Code=-1004" - Fehler mit Alamofire API-Aufrufe,
aber nur für wenige Sekunden nachdem die app gestartet (oder nahm ein rest für ein paar Minuten, während die app geöffnet und einen Aufruf nach, dass)

Wenn ich versuche, den gleichen Anruf nach wenigen Sekunden, alles funktioniert einwandfrei.
Ich suchte alle Stack-Überlauf Fragen und überprüft alle möglichen Ursachen unten:

  1. Kein problem mit Internet-Verbindung
  2. "App-Transport-Sicherheit-Einstellungen" korrekt sind und der server ist mittels https (ich habe auch versucht "NSAllowsArbitraryLoads=true", aber das hat nicht geholfen)
  3. APIs gut funktioniert

Mein Gefühl ist, dass immer die Netzwerk-Einstellungen dauert nur wenige Sekunden und wenn ich einen API-Aufruf, bevor das erledigt ist, es nur nicht sofort. ODER.. ich bin mit einem Websocket im hintergrund, die einen Zusammenhang haben könnte?

FEHLER: Error Domain=NSURLErrorDomain Code=-1004 "es Konnte keine Verbindung zum server." UserInfo={NSUnderlyingError=0x137d39380 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={NSErrorPeerAddressKey={Länge = 16, capacity = 16, bytes = 0x100201bb341a9f540000000000000000}, _kCFStreamErrorCodeKey=-2200, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=[GEFILTERT], NSErrorFailingURLKey=[GEFILTERT], _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2200, NSLocalizedDescription=es Konnte keine Verbindung zum server.}

Irgendwelche Vorschläge?

AKTUALISIERT

Gefunden, die app macht das 4-Anfragen auf Start, und 1 oder 2 von Ihnen nach dem Zufallsprinzip ausfällt, und ich habe Nginx access-und error-log und es gibt kein Protokoll für die fehlgeschlagene Aufrufe an alle.

Kommentar zu dem Problem - Öffnen
Ich habe genau dieses Problem, als ich ein Upgrade meines networking-libs von AFNetworking 2.x-3.x. Bitte lassen Sie mich wissen, wenn Sie kommen mit einer Lösung für das problem. Bisher habe ich auch bestätigt, dass die ssl-Aushandlung stattfindet, welche besagt, dass "es konnte keine Verbindung zum server" ist nicht die eigentliche Ursache. Ich hab auch schon versucht auszuschalten, ATS und Zertifikat-pinning. Alles beginnt nach einer minute oder 2, wobei die erste mehrere Anfragen fehlschlagen. Kommentarautor: Michael Merickel
Hat jemand herausgefunden, was falsch am Ende? Ich habe das gleiche problem... 🙁 Kommentarautor: Bartosz Hernas
@BartoszHernas, welche version von nginx sind Sie? Wir haben das gleiche Problem hier mit nginx 1.10, iOS 9.3.1 die Verwendung von HTTP/2 mit TLS 1.2. Das Problem geht Weg mit HTTP/1.1. Wir sehen in Wireshark, dass die app nur verbindet mal, das ist erfolgreich, doch die erste Anfrage fehlschlägt. Kommentarautor: Adrian Schönig
@AdrianSchönig, Sie sind völlig richtig... habe das gleiche problem, Downgrade jetzt alle meine Server nginx 1.9.14 Kommentarautor: Bartosz Hernas
Ich habe keinen Zugriff auf meine server-Umgebung, aber ich löste es mit einem delay (100-200ms) für die Anforderung aufrufen. Kommentarautor: Maxim Firsoff

InformationsquelleAutor der Frage Sebastian Kim | 2016-04-28

Schreibe einen Kommentar