158 votes

ConnectionTimout contre SocketTimeout

Im ayant un problème avec une bibliothèque, je suis en utilisant, il peut être la bibliothèque ou il pourrait être que je l'utilise mal!

En gros quand je fais cela (Timeout en millisecondes)

_ignitedHttp.setConnectionTimeout(1);  // v short
_ignitedHttp.setSocketTimeout(60000);  // 60 seconds

Pas de délai d'attente exception est générée fonctionne bien, cependant, quand je fais ceci:

_ignitedHttp.setConnectionTimeout(60000);  // 60 seconds
_ignitedHttp.setSocketTimeout(1);          // v short

J'obtiens une Exception Socket.

Donc ma question est pourquoi je ne peux pas simuler une Connexion Exception? Suis-je l'incompréhension de la différence entre une prise et d'un temps de connexion? La bibliothèque est ici (pas officiellement realsed encore).

267voto

Robert Points 10865

Un délai d'attente de connexion se produit uniquement lors du lancement de la connexion TCP. Cela se produit généralement si l'ordinateur distant ne répond pas. Cela signifie que le serveur a été arrêté, vous avez utilisé la mauvaise adresse IP/nom DNS ou la connexion réseau au serveur est down.

Un délai d'attente du socket est dédié à surveiller en continu l'entrant de flux de données. Si le flux de données est interrompue pendant le délai spécifié, la connexion est considérée comme bloqué ou cassé. Bien sûr, cela ne fonctionne qu'avec des connexions où les données sont reçues tous les temps.

Par la mise en socket délai de 1 cela exigerait que chaque milliseconde de nouvelles données sont reçues (en supposant que vous lire le bloc de données sage et le bloc est assez grand)!

Si seulement le flux entrant des stands pour plus d'une milliseconde vous êtes en cours d'exécution dans un délai d'expiration.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X