Je suis en train de définir un délai d'attente pour java.net.URLConnection
comme ceci:délai d'attente est plus que je mets dans `java.net.URLConnection`
URL url = new URL("http://google.com");
URLConnection con = url.openConnection();
con.setConnectTimeout(2000);
con.setReadTimeout(2000);
InputStream in = con.getInputStream();
doc = new Tidy().parseDOM(in, null);
XPath xpath = XPathFactory.newInstance().newXPath();
XPathExpression expr = xpath.compile("//td//span");
Node form = (Node) expr.evaluate(doc, XPathConstants.NODE);
Le problème est que si je régler le délai à 2000 (2 secondes) il attend plus que cela (par exemple 20 secondes comme je l'ai compté moi-même) jusqu'à ce qu'il lève l'exception Timeout.
Quel est le problème?
Comment puis-je régler le délai d'attente pour qu'il fonctionne exactement à la valeur que j'ai définie?
Salut, Merci. Mais la mise en œuvre de Sun n'est pas standard?! – RYN
Techniquement parlant, le Java de Sun est la "mise en œuvre de référence" de la spécification Java. Et comme il a passé le TCK, il est sûr de dire que c'est une implémentation standard. Je pense que cette phrase dans JavaDoc est vague. Cela aurait dû être quelque chose comme "les implémentations Java sont autorisées à implémenter cette méthode comme une opération" ou quelque chose comme ça. En passant, êtes-vous sûr de lire quoi que ce soit du flux d'entrée? Sinon, pourquoi devrait-il temporiser du tout? Pourriez-vous poster un code de bloc plus complet qui montre ce comportement? – Behrang
Salut, Merci pour les réponses, j'ai ajouté quelques lignes de codes supplémentaires. – RYN