Question

Certains serveurs obtiennent des résultats inattendus de manière aléatoire en essayant d'ouvrir un InputStream à partir d'une connexion HttpURLConnection. Il semble que ces serveurs accepteraient la connexion et répondraient par un message "rester en vie". en-tête qui gardera le Socket ouvert mais ne permettra pas aux données d'être renvoyées au flux.

Ce scénario tente un peu "compliqué" pour un robot multi-thread, car si une connexion est bloquée, le thread qui l'exécute ne retournera jamais ... en refusant l'achèvement de son pool, ce qui dérive dans la pensée du contrôleur. que certains threads fonctionnent toujours.

Existe-t-il un moyen de lire l'en-tête de réponse de la connexion pour identifier ce "& restez en vie" " répondre et éviter d’essayer d’ouvrir le flux ??

Était-ce utile?

La solution

Je ne suis pas sûr de ce qui me manque ici, mais il me semble qu'il vous faut simplement getHeaderField () ?

Autres conseils

Avez-vous essayé de définir le paramètre "Délai de lecture" en plus du paramètre "Délai de connexion"?

Voir http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLConnection.html#setReadTimeout%28int%29

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top