Comment utiliser URLConnection Délai d'attente
Je suis en train de trier une liste de proxys SOCKS, et de déterminer celles qui ont un connecter et de lire de temps de moins de 1000ms, voici mon code
for(Proxy p : proxies) {
try {
URLConnection testConnection = testUrl.openConnection(p);
testConnection.setConnectTimeout(TIMEOUT_VALUE);
testConnection.setReadTimeout(TIMEOUT_VALUE);
success.add(p);
} catch(SocketTimeoutException ste) {
System.out.println("Proxy " + p.address().toString() + " timed out.");
}
}
Mais chacun d'entre eux passe le test, même quand je ne TIMEOUT_VALUE = 1;
Ce que je fais mal? Merci pour toute aide.
- Pouvez-vous ajouter cette ligne et voir ce que la valeur qu'elle renvoie?
testConnection.getConnectTimeout()
- Je voulais ajouter ceci après avoir défini la valeur de délai d'expiration.
- Il se contente d'afficher 1000, tout comme il est censé le faire.
- J'ai vu cela sur java docs Certains non-standard de mise en oeuvre de cette méthode peut ignorer le délai spécifié. Je ne suis pas sûr de ce que sont certains de ces " non-standard des implémentations sont bien.
Vous devez vous connecter pour publier un commentaire.
Je suppose que votre problème est que vous ne lisez rien de connexion. Si j'ai mis
TIMEOUT_VALUE
trop faible, j'obtiens une exception. Si j'ai lu tous les réponse ou une seule ligne n'ont pas d'incidence sur le délai imposé, je suppose que c'est parce que j'ai eu toute la réponse dans un paquet.Est la mesure que j'ai utilisé (sans proxy):
- Je utiliser
proxySet
ne fait rien de toute JVM jamais sorti.