J'utilise le framework ASIHTTPRequest dans mon application iPhone pour gérer la communication HTTP. J'ai suivi leurs exemples donnés dans la page d'accueil du projet pour envoyer des requêtes asynchrones. Là, nous devons implémenter deux callbacks, un pour requestFinish et un autre pour requestFailed.ASIHttpRequest envoie un code d'état weired de zéro. Ne pas atteindre le serveur
Cependant, 60% des demandes de temps envoyées par l'iPhone se retrouvent dans la méthode de rappel "requestFinish" et donnent un code d'état HTTP valide. Mais parfois, il va à callback "requestFailed" et le code d'état devient "0" ce qui est confus. Mes enquêtes ont révélé que la connexion Internet est correcte, et j'envoie la demande à l'URL correcte, mais aucun message de journal trouvé dans le journal du serveur. Alors, pourquoi la requête est-elle abandonnée au milieu de manière si aléatoire? Est-ce que quelqu'un est tombé sur ce type de problème? Sera très utile.
Merci
Merci pour toutes les réponses. Oui j'ai connecté les appels ASIHTTPRequest en utilisant NSError venant de cela, et aussi j'ai surveillé les appels atteignant la fin du serveur du niveau de paquet de TCP. Donc le problème le plus étrange que je peux voir est que les paquets de demande atteignent le serveur Avec le corps du message, la requête échouée est invoquée depuis l'iPhone et le code d'état est zéro. D'ailleurs, nous voyons clairement que le serveur envoie 200 mais comment il devient 0 à la fin de l'iPhone – chathuram
En passant, j'ai enregistré le message d'erreur de ASIHTTPRequest, donc il se plaint d'un timeout, mais le temps d'attente est très court et la vitesse du réseau est élevée . Donc c'est plutôt bizarre. – chathuram
Eh bien, vous pouvez essayer d'augmenter le délai ([request setTimeout: 200] si je me souviens bien) et voir si cela aide. Les informations de débogage que j'ai mentionnées peuvent montrer quelque chose de plus, vous pouvez éditer la sortie de débogage dans votre question une fois que vous l'avez collecté. – JosephH