2012-12-13 4 views
-2

États de doc API Les requêtes NSURLConnection :: initWithRequest ont passé l'argument url. Au serveur rien n'est reçu mais l'argument est valide, et fonctionne depuis le navigateur sur la même machine. Que se passe-t-il dans la pomme pourrie?Aucune demande de NSURLConnection

NSString* urlString = <valid url working from browser>; 

NSURLRequest* request = [[NSURLRequest alloc] initWithURL: [NSURL URLWithString:urlString] cachePolicy: NSURLRequestReloadIgnoringLocalCacheData timeoutInterval: 10]; 

NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES]; 

<Connection validated here> 

<Delegate methods implemented elsewhere> 

Répondre

0

Voici ce que je voudrais essayer:

Est-ce votre URLString une URL valide? Tout simplement parce que cela fonctionne dans un navigateur ne signifie pas que c'est une URL valide - le navigateur pourrait être plus tolérant que NSURL. Testez cela en vérifiant que l'objet créé par [NSURL URLWithString:urlString] n'est pas nil.

Que retourne votre méthode de délégué connection:didFailWithError: comme paramètre d'erreur?

Est-ce que connection:didReceiveAuthenticationChallenge: est appelé dans votre délégué - est-ce un problème d'authentification entre votre application et votre serveur?

Conservez-vous votre objet connection ou ARC le relâche-t-il (très peu probable, je suis à peu près sûr que la connexion restera pendant qu'elle se connecte mais vous devriez probablement vous assurer).

0

Cela ne résoudra pas votre problème, mais augmentera le délai à 60. Vérifiez l'URL comme indiqué ci-dessus.

+0

Client et serveur connectés au même réseau local. L'URL est correcte – user1594959

+0

Avez-vous _prouvé_ que l'URL est correcte ou acceptez-vous simplement parce que le navigateur vous l'indique? Pouvez-vous ajouter l'URL à la question? Et juste parce que c'est sur le même LAN ne signifie pas automatiquement que vous pouvez voir le serveur :) – deanWombourne

+0

Survolez pour voir l'URL réelle dans la barre d'état: http://192.168.2.105:80/servlet/MyServletHandler?command=createsomething&unitid=1 – user1594959